【问题标题】:Jquery json parsing for select用于选择的 Jquery json 解析
【发布时间】:2010-12-31 11:51:07
【问题描述】:

你好,

我有这个 json:

{
    "ROWCOUNT":5,
    "COLUMNS":["ID","REGIONE"],
    "DATA":{
    "ID":[1,2,4,3,5],
    "REGIONE":["Abruzzo","Campania","Emilia","Molise","Toscana"]
}

我想用 jquery 从 ID 和 REGIONE 中检索值,以填充选择。这个我试过了:

for(var COLUMNS in data) {
    jQuery.each(data[COLUMNS], function(i, row) {
        alert(row)          
    });
}

但我不知道如何将一个 ID 与 REGIONE 结合起来,以获得<option value="#ID#">#REGIONE#</option>

谢谢。

【问题讨论】:

  • 你到底想做什么?

标签: jquery arrays json parsing select


【解决方案1】:

“COLUMNS”是否总是包含这两个值(“ID”和“REGIONE”),这两个值是否对应于“DATA”中的两个值?如果是这样,您可以这样做:

var s = $('<select />');
$(x.DATA.ID).each(function(i, id){
  console.log(id, x.DATA.REGIONE[i])
  $(s).append($('<option />').val(id).text(x.DATA.REGIONE[i]))
});

【讨论】:

    【解决方案2】:

    你的 JSON 看起来有点不正确,但如果我们假设你有这个:

    "DATA": {
        "ID":[1,2,4,3,5],
        "REGIONE":["Abruzzo","Campania","Emilia","Molise","Toscana"]
    }
    

    你可以试试这个:

    var sel = $('<select>');
    $.each(DATA.ID, function(i, id) {
        sel.append( $('<option>').val(id).text( DATA.REGIONE[i] ) );
    })
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      for(var i = 0; i < data.ID.length; i++) {
          var option = $('<option></option').attr('value', data.ID[i]).text(data.REGIONE[i]);
          //Do something with option
      }
      

      【讨论】:

      • data.ID[i] 是值,而不是 id。
      【解决方案4】:

      如果我正确理解了您的问题,那么您正在寻找这样的东西:

      var options = [];
      for(var i in data.ID) {
          var option = $('<option />');
          option.val(data.ID[i]).html(data.REGIONE[i]);
          options.push(option);
      }
      $('select').html(options);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多