1

:d = {"main0ID": "abc.es/main"、 "main1ID": "ah/main"}のようなjson文字列を返すWebサービスがあります。これをulHTMLコントロールに追加します。jsonオブジェクト文字列を反復処理してulに追加するにはどうすればよいですか?

ありがとう...

4

6 に答える 6

3

for..inオブジェクトを反復するために使用できます。

for (var key in d) {
  console.log(key, d[key]);
}
于 2012-06-19T03:54:10.357 に答える
1

.each()または.map()を使用して、json オブジェクトを反復処理できます。

于 2012-06-19T03:55:40.260 に答える
1
    $.ajax({           
                url: 'your url'
                type : 'POST',
                data : {/*any data*/},
                dataType:'json',
                success: function(msg) { //your json return
                for (i=0;i<msg.length;i++){
       alert(msg[i]['your_index']);
}

}
于 2012-06-19T03:55:40.637 に答える
1

あなたがこのようなulを持っていると仮定します

<ul id="ulItems"></ul>      

これにより、JSON から項目が取得され、UL に追加されます

$(function(){
    var items="";
    var data={"main0ID":"abc.es/main","main1ID":"ah/main"}
       $.each(data,function(index,item){
         items+="<option value='"+item+"'>"+item+"</option>";
       });       
    $("#ulItems").html(items);
});

作業サンプル: http://jsfiddle.net/tFpTu/4/

ループ内で関数を n 回html呼び出すのではなく、常に文字列を作成し、関数を 1 回だけ呼び出すappend

于 2012-06-19T03:56:17.053 に答える
1

この方法はどちらも使用できますが
、最初の方法はかなり高速です...

このチュートリアルを確認してください...

for (var keyIndex in d) {
    console.log(keyIndex, d[keyIndex]);
}

$.each(data,function(keyIndex,value){
    console.debug(inkeyIndexex,value);
});
于 2012-06-19T04:02:47.443 に答える
0
$("#Button1").click(function () {
WebService.GetList(OnComplete, OnError);
function OnComplete(result) 
{
var items = "";
var value = Sys.Serialization.JavaScriptSerializer.deserialize(result, true);
for (var property in value) 
{              
items += "<option value='" + value[property] + "'>" + value[property] + "</option>";
}
$("#ContentPlaceHolder1_ListBox1").html(items);
}
function OnError(err)
{
alert("The error is :" + err.get_Message());
}
});
于 2012-06-19T04:53:50.613 に答える