Jquery 1.10.2 $ .each函数不能正常工作

时间:2013-09-18 23:26:38

标签: jquery

好的,首先让我来描述我的HTML。

我有一个选择列表名称和ID作为upload_Gcat有三个选项。然后我有一个选择列表名称和ID作为upload_album。我想要的是当upload_Gcat被更改时upload_album根据所选内容更改其选项。我已经得到了我的查询,以便删除旧的。但当它到达我的$ .each函数时,它不起作用。

我在$ .each函数中尝试了各种不同的代码行,甚至尝试了错误的警报调试方式,在$ .each内部没有出现警报。

var new_options = new Array();
new_options["album1"] = "album1";
new_options["album2"] = "album2";
new_options["album3"] = "album3";

var select = $('upload_album');
if(select.prop){
    var options = select.prop('options');
}
else{
    var options = select.attr('options');
}

$('option', select).remove();

$.each(new_options, function(key, value) {
    options[options.length] = new Option(value, value);
});

1 个答案:

答案 0 :(得分:0)

您可以尝试此操作(使用object代替array,JavaScript不支持关联数组)

var new_options = {}; // an empty object
new_options["album1"] = "album1";
new_options["album2"] = "album2";
new_options["album3"] = "album3";

var select = $('#upload_album').empty();
$.each(new_options, function(key, value) {
    var newOption = $('<option/>', {'value':key, 'text':value});
    select.append(newOption);
});

DEMO.另外,请在MDN上查看Working with objects