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

标签 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 $gElem =
    '<div class="cbox cboxQuarterWidth">' +
         '<select id="combobox_0">' +
               $gElemRatios + // here I add previous generated elem
         '</select>' +
    '</div>';

最后:

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

有什么想法吗?

最佳答案

您可以使用$.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

关于javascript - 使用 Jquery 从 JSON 生成多个 HTML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871859/

相关文章:

html - Bootstrap 中行内的多列在 IE 11 中不起作用

javascript - 使用 knockout.js 插入、删除和更新可观察元素

jquery 对类型为 "div"的 'Button' 标签进行验证

javascript - jQuery 附加不更新 DOM,因此无法从 MVC Controller 检索内容

javascript - 禁用由 React 应用程序呈现的网页选定部分的副本

html - 带标题的 Bootstrap 进度条垂直标记

javascript - jQuery bootstrap 下拉菜单正常悬停和点击小型设备 Bootstrap 3

javascript - 无法隐藏标签; jQuery

javascript - Ember.js 计算属性返回模型 ID 数组?

javascript - 如何从javascript中的svg字符串获取信息?