【问题标题】:How to properly append json result to a select option value如何正确地将 json 结果附加到选择选项值
【发布时间】:2016-12-11 16:31:51
【问题描述】:

我正在接收类似的 json 格式

{
    "0": ["AL", "Alabama"],
    "9": ["FL", "Florida"]
}

我想在选择框中附加这个值,选项值喜欢

<option value="AL">Alabama</option>
<option value="FL">Florida</option>.

为此,我尝试了以下代码。它正在附加所有值

success: function(json) {
    jQuery('#stateId').html('');
    jQuery.each(json, function(i, value) {
        jQuery('#stateId').append(jQuery('<option>').text(value).attr('value', value));
    });
}

【问题讨论】:

  • value[0] 用于值,value[1] 用于文本
  • 它是关于处理 json 的动态/命名索引..

标签: jquery json select


【解决方案1】:
var json = {
    "0": ["AL", "Alabama"],
    "9": ["FL", "Florida"]
};

    jQuery('#stateId').html('');
    jQuery.each(json, function(i, value) {

    jQuery('#stateId').append(jQuery('<option>').text(value[1]).attr('value', value[0]));
    });

fiddle

【讨论】:

    【解决方案2】:

    试试这个:

    success: function(json) {
        jQuery('#stateId').html('');
        jQuery.each(json, function(i, value) {
            jQuery('#stateId').append(jQuery('<option>').text(value).attr('value', value[i]));
        });
    }
    

    【讨论】:

      【解决方案3】:

      也可以这样

      d = {
          "0": ["AL", "Alabama"],
          "9": ["FL", "Florida"]
      }
      var str = "";
      $.each(d, function(i,obj){
            str += "<option value='"+obj[0]+"'>"+obj[1]+"</option>";      
      })
      $("#selDropDown").html(str) 
      

      【讨论】:

        【解决方案4】:

        你需要了解更多关于 json 的知识。您的 json 对象不是数组。它包含多个命名(命名为01)对象。这些对象中的每一个都是一个数组

        因此,您必须遍历 json 来获取每个命名索引,然后要获取该索引处的对象,您必须使用 jsonObject[index] 而不是 jsonObject.index

        现在每个对象都是一个包含两个项目的数组,您可以将它们用作文本和值

        for(var index in originalJson){
          var val = originalJson[index]; //it is same like originalJson.prop but     
          jQuery('#stateId').append('<option />').text(val[0]).attr('value',val[1]);
        }
        

        Working Plunker

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-06
          • 1970-01-01
          • 1970-01-01
          • 2020-07-25
          • 1970-01-01
          相关资源
          最近更新 更多