2

私はJavaScriptの知識が非常に限られています..何か提案をいただければ幸いです..以前のJSONの質問と回答を調べましたが、これに似たものは何も見当たりませんでした.

私はjQueryを使用しています。次の形式の JSON サーバー応答があります。

{
  "aNumBids_1": "4",
  "aHighBid_1": "100.00",
  "aBidAmount_1": "110.00",
  "aBidEnd_1": "09/27/2013 17:00",
  "aNumBids_2": "42",
  "aHighBid_2": "1,210.00",
  "aBidAmount_2": "1,260.00",
  "aBidEnd_2": "09/27/2013 17:01",
  "aNumBids_3": "12",
  "aHighBid_3": "1,100.00",
  "aBidAmount_3": "1,150.00",
  "aBidEnd_3": "09/27/2013 17:02",
  "aNumBids_4": "26",
  "aHighBid_4": "1,460.00",
  "aBidAmount_4": "1,510.00",
  "aBidEnd_4": "09/27/2013 17:03",
  "aNumBids_5": "32",
  "aHighBid_5": "1,210.00",
  "aBidAmount_5": "1,260.00",
  "aBidEnd_5": "09/27/2013 17:04"
}

各ペアの最初の要素は、ページ上の要素名です ( name='aBidAmount_5')。各ペアの 2 番目の要素は、その要素に配置されるコンテンツです。

このjson応答をループするにはどうすればよいですか?

私はここまで来ました:

AJAX.getPrice = function(){

  var request = $.ajax({
    url: serverScript,
    data: JSON.stringify(aItems) ,
    dataType: "json"
  });

  request.done(function() {
   // update the element value
    /* i'm lost here */
  });

  request.fail(function(jqXHR, textStatus) {
    // If console is available output the error to console log
    if (typeof console == "object") {
       console.log( "Request failed: " + textStatus +data );
    }
  });

}
4

3 に答える 3

3

「要素名」が要素のIDであると仮定すると、これは機能するはずです:

request.done(function(data) {
    for(var k in data) {
        if(data.hasOwnProperty(k)) {
            $('#'+k).html(data[k]);
        }
    }
});
于 2013-08-31T01:43:39.967 に答える
1

これらが入力名の場合、doneコールバックで使用します

request.done(function(data) {
   for(i in data) {
      $("input[name="+i+"]").val(data[i]);
   }
});
于 2013-08-31T01:45:17.647 に答える