1

在我的 VB.NET 项目中,我有一个带有一些文本输入字段和一个保存/提交按钮的 UI。我希望保存按钮在页面加载时处于禁用状态,并保持这种状态,直到对其中一个输入进行更改。如果用户输入的值与页面加载时的值相同,则保存按钮应该再次被禁用。所以基本上,只有在实际发生变化时才应该启用保存按钮。

我怎样才能使用 jquery 做到这一点?

4

3 回答 3

3
$(':input').change( 
    function(){ 
       $("#submitButtonId").prop("disabled",false);
    } 
);

既然您说它是动态的,请使用on.

$(document).on("change", ":input", 
    function(){ 
       $("#submitButtonId").prop("disabled",false);
    } 
);
于 2012-10-22T23:02:57.767 回答
2

你可以在change事件中处理

$('input[type="text"]').on('change', function() {

     // Change event fired..

     $('input[type="submit"]').prop('disabled', false);
});
于 2012-10-22T23:03:07.447 回答
2
//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;
    });
}
于 2012-10-22T23:34:22.937 回答