我是jQuery的新手,我很难找到它。我有两个阵列。
var arrayCountries = [{ Code:'NL', Name:'Netherlands'}, { Code:'BE', Name:'Belgium'}, ...];
var arrayCustomers = [{ Code:'C001', Country: 'NL', Group: 'A'}, { Code:'C002', Country: 'BE', Group: 'B'}, ...];
还有一些过滤数据的代码。当用户在'组'选择框中选择一个值时,我需要刷新两个选择框。第一个数组(customerData)按预期填充。但是我不知道如何填充第二个数组。我已经尝试了许多方法,但没有任何快乐。 countryData数组保持为空。
function filterFromGroupChanged(value){
var customerData = $.grep(arrayCustomers, function (customer, i) { return arrayCustomers.Group === value; });
refreshCustomers(customerData); // function to refresh a customer selectbox
var countryData = $.grep(arrayCountries , function (country, i) {
return $.grep(customerData, function (customer, i) { customer.Country=== country.Code; }).length > 0;
});
refreshCountries(countryData); // function to refresh a country select box
}
jQuery grep返回一个数组,所以如果我测试它的长度,我应该能够返回一个true或false来满足第一个grep。但它仍然是空的。
有人能指出我正确的方向吗?
答案 0 :(得分:0)
看起来我很迟钝。发布后,我再次查看了我的代码,看到了丢失的回复。 (在CAPS下面,以便更好地检测此处共享)
function filterFromGroupChanged(value){
var customerData = $.grep(arrayCustomers, function (customer, i) { return arrayCustomers.Group === value; });
refreshCustomers(customerData); // function to refresh a customer selectbox
var countryData = $.grep(arrayCountries , function (country, i) {
return $.grep(customerData, function (customer, i) { RETURN customer.Country=== country.Code; }).length > 0;
});
refreshCountries(countryData); // function to refresh a country select box
}