在我目前正在处理的 ASP MVC 页面中,三个输入字段的值决定了第四个字段的值。邮政编码、州代码和其他称为 Chanel 代码的东西将决定第四个字段(称为 Territory Code)的值。
几周前我刚开始学习 jQuery,所以我首先认为您可以放置一个.change
事件来检查其他两个字段中的值,如果它们存在,则调用一个单独的方法来比较这三个字段并确定区域代码。但是,我想知道是否有更优雅的方法来解决这个问题,因为它似乎在不同的地方编写了很多相同的代码。
您可以通过指定多个选择器将回调绑定到多个元素:
$(".field1, .field2, .field3").click(function() {
return field1 +
field2 +
field3;
});
如果您需要根据单击的元素执行特定操作,另一种选择是创建一个执行实际计算的函数,然后从每个回调中调用该函数。
var calculate = function() {
return field1 +
field2 +
field3;
};
然后在每次点击时调用此函数:
$(".field1").click(function() {
// Perform field1-specific logic
calculate();
});
$(".field2").click(function() {
// Perform field2-specific logic
calculate();
});
// etc..
这意味着您不会重复自己。
这对我有用
jQuery(document).on('scroll', ['body', window, 'html', document],
function(){
console.log('multiple')
}
);
添加另一种可能性,以防万一这可能对某人有所帮助。此版本应适用于动态创建的字段。
$("#form").on('change', '#Field1, #Field2, #Field3', function (e) {
e.preventDefault();
console.log('something changed');
});