更改事件以检查任何表单元素的更改
Change event to check change on any form element
我有一个禁用按钮,当表单有效时启用。使用下面的函数,我正在检查更改,如果表单仅包含输入,它就可以工作。如何检查 select 或复选框等其他元素的更改?
$("#create-rule-form").parsley();
$('input').on('keyup', function() {
$("#create-rule-form").parsley().validate();
if ($("#create-rule-form").parsley().isValid()) {
$('#create-rule-btn').prop('disabled', false);
} else {
$('#create-rule-btn').prop('disabled', 'disabled');
}
});
使用jQuery的:input
选择器,它匹配所有用于表单输入的标签。
$(":input").on('edit change').function() {
// code here
});
您可以使用 $('form').find('*')
到 select 表单的所有子孙,然后将事件应用于所有他们,如下所示。
此外,附带说明一下,我认为您应该处理的事件是 change
而不是 keyup
,因为 keyup
不适用于复选框和下拉菜单。
$('form').find('*').on('change', function() {
//do stuff
});
我有一个禁用按钮,当表单有效时启用。使用下面的函数,我正在检查更改,如果表单仅包含输入,它就可以工作。如何检查 select 或复选框等其他元素的更改?
$("#create-rule-form").parsley();
$('input').on('keyup', function() {
$("#create-rule-form").parsley().validate();
if ($("#create-rule-form").parsley().isValid()) {
$('#create-rule-btn').prop('disabled', false);
} else {
$('#create-rule-btn').prop('disabled', 'disabled');
}
});
使用jQuery的:input
选择器,它匹配所有用于表单输入的标签。
$(":input").on('edit change').function() {
// code here
});
您可以使用 $('form').find('*')
到 select 表单的所有子孙,然后将事件应用于所有他们,如下所示。
此外,附带说明一下,我认为您应该处理的事件是 change
而不是 keyup
,因为 keyup
不适用于复选框和下拉菜单。
$('form').find('*').on('change', function() {
//do stuff
});