在我的 VB.NET 项目中,我有一个带有一些文本输入字段和一个保存/提交按钮的 UI。我希望保存按钮在页面加载时处于禁用状态,并保持这种状态,直到对其中一个输入进行更改。如果用户输入的值与页面加载时的值相同,则保存按钮应该再次被禁用。所以基本上,只有在实际发生变化时才应该启用保存按钮。
我怎样才能使用 jquery 做到这一点?
在我的 VB.NET 项目中,我有一个带有一些文本输入字段和一个保存/提交按钮的 UI。我希望保存按钮在页面加载时处于禁用状态,并保持这种状态,直到对其中一个输入进行更改。如果用户输入的值与页面加载时的值相同,则保存按钮应该再次被禁用。所以基本上,只有在实际发生变化时才应该启用保存按钮。
我怎样才能使用 jquery 做到这一点?
$(':input').change(
function(){
$("#submitButtonId").prop("disabled",false);
}
);
既然您说它是动态的,请使用on
.
$(document).on("change", ":input",
function(){
$("#submitButtonId").prop("disabled",false);
}
);
你可以在change
事件中处理
$('input[type="text"]').on('change', function() {
// Change event fired..
$('input[type="submit"]').prop('disabled', false);
});
//This will bind all existing and dynamically added selects onChange to the handler
$(document).on('change', function(e) {
onChangeHandler();
}
// handle the event
function onChangeHandler() {
if (checkValues()) {
$('#yourButtonId').prop("disabled", false);
}
else {
$('#yourButtonId').prop("disabled", true);
}
}
// check all values against originals - data-* attributes are a good way to store data on
// an element. So have you can have:
<select id="id1" data-originalvalue="myValue"></select>
// compare the current value to the original value - if any one of them differ, return
// true
function checkValues() {
$.each($('select[data-originalvalue]'), function() {
if ($(this).val() !== $(this).attr(data-originalvalue){
return true;
}
return false;
});
}