![](/img/trans.png)
[英]How to clear all inputs, selects and also hidden fields in a form using jQuery?
[英]jQuery - Compare new value with old value on form submit, across all fields (inputs, selects)?
我正在閱讀這個問題的答案,但它只用一個字段解決了問題,我將如何在表單上查看所有字段(輸入、select、收音機等)?
這是我目前擁有的(我正在使用委托,此表單動態注入頁面):
$('#preferencesBody').delegate('input[type="radio"], select', 'change', function() {
var key = $(this).attr('data-key');
var value = $(this).val();
// How to get the old value, and compare with the current value, if they are different, call saveUserPreferences?
Preferences.saveUserPreferences(key, value);
});
謝謝。
$('#formID:input')
將 select id=formID
表單上的所有輸入字段(包括文本區域和按鈕)
所以你的 function 看起來像這樣..
$('#preferencesBody').delegate(':input', 'change', function() {
var key = $(this).attr('data-key');
var value = $(this).val();
Preferences.saveUserPreferences(key, value);
});
我推出了自己的實現,在綁定數據時使用了附加屬性,並根據附加屬性的值檢查了該值,即:
$('#preferencesBody').delegate('input[type="text"]:not(.password)', 'blur', function() {
var value = $(this).val();
var currentValue = $(this).attr('data-currentvalue');
if (value !== currentValue) {
$(this).attr('data-currentvalue', value);
Preferences.saveUserPreferences(value);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.