2009-08-05 8 views
1

JQueryのAJAXメソッドを使用してASP.NETアプリケーションでAJAX経由でページメソッドを呼び出しています。JQUERYを使用したドロップダウンリストへのJSON結果の追加

 $.ajax({ 
     type: "POST", 
     url: "page.aspx/GetDropDowns", 
     data: "{'aId':'1'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
     alert(msg.d); 
     }, 
     error: function() { 
     alert('Error getting page'); 
     } 

私は、ドロップダウンを移入されることによって、JSON形式で結果を返すことがあります。私はこの部分を自分で行うことができましたが、JSONの結果を処理するためのJQueryに魔法が組み込まれているか、この種のユーティリティスクリプトがあれば知りたいのです。

答えて

2

jQuery自体がドロップダウンに値を設定するのに役立つことはほとんどありません。 HTMLを作成し、それをドロップダウンリストに追加するだけです。

データの形式がわからないので、キーがドロップダウンのキーになり、値がドロップダウンの値でなければならないオブジェクトであると仮定しています。

また、$.post、次に$.ajaxを使用するほうが、私にとってはより明確な構造であることがわかります。

$.post('page.aspx/GetDropDowns', {'aId': '1'}, function (data, status) { 
    if (status === 'success') { 
     var options = []; 
     for (var key in data) { 
      options.push('<option value="' + key + '">' + data[key] + '</option>'); 
     } 
     $('#yourId').append(options.join('')); 
    } else { 
     alert('error'); 
    } 
}, 'json'); 
1

これまで、私はドロップダウンで作業するときにプラグインを使用していました。

http://www.texotela.co.uk/code/jquery/select

要求JSONデータ:

//Get the JSON Data 
    $.getJSON(url, function(json) { 
     PopulateDropDownFromJson(json, "#element"); 
    }); 

、次いでだけ

function PopulateDropDownFromJson(json, element){ 
     $.each(json, function() { 
     $(element).addOption(this[valueText], this[displayText], false); 
    }); 

}

上にプラグインを使用して関数にJSONを渡します
関連する問題