Javascript 用JSON结果替换选择框选项
我有一个选择框,当我点击一个按钮时,会发出一个ajax请求,它返回json对象。该对象包含一个新的选择框选项列表。是否有任何方法可以从选择框中删除所有选项并用新列表替换它们Javascript 用JSON结果替换选择框选项,javascript,jquery,Javascript,Jquery,我有一个选择框,当我点击一个按钮时,会发出一个ajax请求,它返回json对象。该对象包含一个新的选择框选项列表。是否有任何方法可以从选择框中删除所有选项并用新列表替换它们 <select id="cat-0" > <option value="0">Select One...</option> <option value="1">Text 1</option> <option value="2">T
<select id="cat-0" >
<option value="0">Select One...</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
使用.html插入新选项并清除现有选项
$('#cat-0').html(newOptions);
但当然,您需要从JSON数据中构造选项,比如这样
var json=[{value:'1', text:'Option1'},
{value:'2', text:'Option2'},
{value:'3', text:'Option3'}];
var options=$('<select/>');
$.each(json, function(id, ob){
options.append($('<option>',
{value:ob.value,
text:ob.text}));
});
$('#cat-0').html(options.html());
是的,当然有。你试过什么吗?让我们看看JSON数据的格式!我建议不要在每次迭代中将它附加到DOM中,而是立即更新它,尤其是当您有这么多选项要创建时
//Clear the select list
$('#cat-0').empty();
//then fill it with data from json post
$.each(data, function(key, value) {
$('#cat-0')
.append($("<option></option>")
.attr("value",key)
.text(value));
}