我有一个带键:值对的对象。我循环遍历这个对象,如果键匹配传递给我的函数的值,我将它添加到另一个变量。问题是我的代码最终循环遍历结果,只将最后一个匹配添加到我的新变量。
function DirectoryOfBusinessSubs(parentID) {
var myOpt = {"1":"<option>sub1</option>","1":"<option>sub2</option>"};
var myList;
$.each(myOpt, function(key, value) {
if(key == parentID){
myList += value;
}
});
alert(myList);
c.append(myList);
}
如果我在1
传递密钥,myList
应该同时获得sub1和sub2,但此代码仅将sub2存储在myList
中。
答案 0 :(得分:2)
试试这个:
function DirectoryOfBusinessSubs(parentID) {
var myOpt = {"<option>sub1</option>":"1","<option>sub2</option>":"1"};
var myList = ''; //Fix undefined alert
$.each(myOpt, function(key, value) {
if(value== parentID){
myList += key;
}
});
alert(myList);
c.append(myList);
}
这必须做好工作:)
答案 1 :(得分:0)
包括另一个范围:
$.each(myOpt, function(key, value) {
(function(v){
if(key == parentID){
myList += v;
}
})(value);
});
alert(myList);
c.append(myList);
}