将选择框选项替换为JSON结果

Replace Select Box Options With JSON Result

本文关键字:JSON 结果 替换 选项 选择      更新时间:2023-09-26

我有一个选择框,当我单击按钮时,会发出ajax请求,并返回json对象,该对象包含选择框的新选项列表。是否有任何方法可以从选择框中删除所有选项并将其替换为新的列表?

<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());

小提琴

//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));
    }