3

選択ボックスがあり、ボタンをクリックすると 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>
4

2 に答える 2

7

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

フィドル

于 2013-05-30T20:32:54.590 に答える
3
//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));
    } 
于 2013-05-30T20:38:21.803 に答える