使用带有键值的.trigger()进行jQuery
我很难掌握如何使用jquery.trigger()。我只是绕着复选框循环,找出哪些复选框被选中了。然后我尝试将这些值映射到键值对。如果我记录paymentValue和paymentName,我会得到正确的输出,比如:cash和true,所以我希望在我的键值中有类似cash:true的内容。 除非我尝试运行此代码,否则会出现paymentName未定义错误使用带有键值的.trigger()进行jQuery,jquery,Jquery,我很难掌握如何使用jquery.trigger()。我只是绕着复选框循环,找出哪些复选框被选中了。然后我尝试将这些值映射到键值对。如果我记录paymentValue和paymentName,我会得到正确的输出,比如:cash和true,所以我希望在我的键值中有类似cash:true的内容。 除非我尝试运行此代码,否则会出现paymentName未定义错误 var filterPayment = $('input[name="filter-payment"]:checked'); var paym
var filterPayment = $('input[name="filter-payment"]:checked');
var paymentObj = {};
$(document).bind("updateFilters", function() {
filterPayment.each( function () {
var paymentValue = paymentObj[this.value];
paymentValue = this.checked;
var paymentName = userObj[this.name];
paymentName = this.value;
});
});
$(document).trigger('updateFilters', {
paymentValue : paymentName
});
有什么想法吗?试试看
var filterPayment = $('input[name="filter-payment"]');
var paymentObj = {};
var userObj = {};
//listern to the change event
filterPayment.change(function () {
var paymentValue = paymentObj[this.value];
paymentValue = this.checked;
var paymentName = userObj[this.name];
paymentName = this.value;
//create a parameter object, since the key is dynamic need to use bracket notation to assign the value
var param = {};
param[paymentValue] = paymentName;
$(document).trigger('updateFilters', param);
}).filter(':checked').change()
$(document).bind("updateFilters", function () {
alert('filter updated')
});
变量
paymentName
未声明。。。它是在每个
回调的本地范围内声明的。也许我不明白,在每个回调之外如何声明它?如果我把它作为var paymentName放在每个回调之上,我仍然会得到相同的错误。你能举一个例子吗?我通过看一些代码学得更好。你在这里想做什么?您是否正在尝试为每个输入[name=“filter payment”]:选中的元素触发updateFilters
事件?是否正确?我正在尝试在每次选中复选框时触发updateFilters。谢谢你的帮助!