使用Jquery从JSON生成多个HTML元素?

时间:2012-03-26 12:11:44

标签: javascript html jquery

如何使用Jquery和Javascript从$ ajax中提取JSON,然后执行foreach,并创建一个附加到html DOM的字符串?

类似的东西:

$(document).ready(function (e) {

$.ajax({
    type: "POST",
    url: "Companies/GetSearchRatios",
    context: this,
    success: function (data) {
       //return JSON
    }
});

结果JSON

[{"name":"MyNAme","value":350},{"name":"Hello","value":356}]

我可以轻松地在$ ajax方法成功中访问这些值,但是如何在方法之外提取这个值并使用它附加到DOM?

这是我需要的一些for / foreach方法所需要的:

  var $gElemRatios =
    '<option value=""></option>' +
    '<option value="350">MyNAme</option>' +
    '<option value="356">Hello</option>';

然后我使用这个var与另一个结合:

 var $gElem =
    '<div class="cbox cboxQuarterWidth">' +
         '<select id="combobox_0">' +
               $gElemRatios + // here I add previous generated elem
         '</select>' +
    '</div>';

最后:

$("#main").append($gElem);

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用$.each循环传递给成功处理程序的数据:

$.ajax({
    type: "POST",
    url: "Companies/GetSearchRatios",
    context: this,
    success: function (data) {
       $.each(data,function(){
          console.log(this.name); //just an example how to access things
          $('#select').text(this.value); //maybe?
       });
    }
});

请参阅 fiddle