javascript - 用于填充 SELECT 选项的 JSON 结构

标签 javascript html json

在提出的问题中here ,我看到以下代码可用于向 SELECT 添加选项

function getResults(str) {
  $.ajax({
        url:'suggest.html',
        type:'POST',
        data: 'q=' + str,
        dataType: 'json',
        success: function( json ) {
           $.each(json, function(i, optionHtml){
              $('#myselect').append(optionHtml);
           });
        }
    });
};

有人可以告诉我,在 php 服务器端,json 的格式应该是什么。比如,应该如何创建它,以便通过“$('#myselect').append(optionHtml);”正确解析它 ??

最佳答案

该代码将解析此 JSON,基本上是带有标记的字符串数组。

[
    "<option value='...</option>",
    "<option value='...</option>",
    "<option value='...</option>",
    ...
]

但这几乎违背了 JSON 的目的。

<小时/>

如果 JSON 只包含数据会更好:

{
    "text1" : "value1",
    "text2" : "value2",
    "text3" : "value3",
    ...
}

以及您的代码来解析它并为您创建元素。这样,JSON 就更轻量了。

success: function( json ) {
    var mySelect = $('#myselect')
    $.each(json, function(key,val){
        $('<option/>',{
            value : val //i like this method of making elements better
        })              //because string concatenation is messy
        .text(key)
        .appendTo(mySelect);
    });
}

关于javascript - 用于填充 SELECT 选项的 JSON 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795507/

相关文章:

Javascript JSON 到 Excel 文件下载

ios - 实现 MTLModel 显示解析 json 字典时出错

javascript - 如何在 ADF FACES 中使用 HTML5 标签

javascript - 使用 JQuery 和 Slick 过滤产品轮播

jquery - 当底部div消失时将顶部div拉到底部

javascript - 未从 JSON 加载网格数据

javascript - 如何解析 ionic 应用程序中的文件路径

javascript - 通过 jquery 定义的数据选择元素

javascript - 输入和:input有什么区别

html - 如何根据CSS中的当前页面更改边框颜色