2009-06-24 13 views
1

これを行うためのプラグインがありますか?サーバーは、オプションのラベルと値を含むJSONコンテンツを返します。jQuery AJAXで選択ボックスのオプションを更新しますか?

私はこれを手動で行うことができます。より簡単な方法があるかどうかを確認したいと思っていました。

+0

要素全体を置換する場合は、完全形式の選択(オプションを含む)を返すようにリモートスクリプトを構成することができます。しかし、オプション要素を "手作業で"更新することは、ほんの数行のコードではないので、jQueryプラグインが適切であるかどうかはわかりません。 – inkedmn

答えて

2

ループとは、各テキスト/値のペアでこれを行う(うまくクロスブラウザで動作します):

var opt = document.createElement('option'); 
opt.value = "someValue"; 
opt.appendChild(document.createTextNode("someText")); 
$('#mySelect').append(opt); 
+0

よろしくおねがいします。 – Damien

1

要素にhtmlを挿入する前に、文字通りリスト内の項目をループし、htmlを生成します。おそらく今あなたがそれに言及するプラグインがあります。 JSON経由

var selectHtml = '' 
foreach obj Item in jsonobject.list) 
    selecthtml += "<option value="+ item.value +">" + item.label + "</option>" 

$('selectList').html(selectHtml); 

または類似のもの

0

私はJavaScriptを使用して、jQueryとAJAXの道を次の方法でJSONデータで選択ボックスを更新します。そのかなりきれいで簡潔で、仕事を完璧にします。

$.getJSON(url, data, function(responseJSON){ // GET JSON value from the server 
    $("#mySelect option").remove(); // Remove all the <option> child tags from the select box. 
    $.each(responseJSON.rows, function(index, item) { //jQuery way of iterating through a collection 
     $('#mySelect').append($('<option>') 
      .text(item.label) 
      .attr('value', item.value)); 
       }); 
      });