好的,首先让我来描述我的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);
});
答案 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。