0

我有这个 JSON 字符串(来自 DataSet,1 列,几行 - 示例中仅显示 2 -)

{"Tables":[{"Rows":[{"Column1":"UserNumer1"},{"Column1":"UserNumber2"}]}]}

如何在我的动态填充中使用这些值select value

$('<option>').val('UserNumer1').text('UserNumer1').appendTo('#selectID');

我想附加所有值,如果 JSON 字符串有 10 行(在这种情况下为用户),我希望 jquery 将所有行附加到我的 selectID 中。被告知最好appendTo只做一次而不是做一次互动。

谢谢!

根据答案编辑。

为了快速测试,我在我的页面上设置了这个。

jsonString = GetParsedData();

现在,jQuery 脚本。

$(function () {
        var obj = <%=jsonString%>;
        var html = "";
        for (var i = 0; i < obj.Tables.length; i++) {
            html += '<option value="' + obj.Tables[i].Column1 + '"> ' + obj.Tables[i].Column1 + '</option>';
        }
        $(html).appendTo('#selectID');
    });

列表没有被填充,所以我尝试了 firebug,在断点之后我得到了变量 html 的结果

"<option value="undefined"> undefined</option>"

var obj 没问题

{"Tables":[{"Rows":[{"Column1":"UserName1"},{"Column1":"UserName2"}]}]};

我在这里错过了什么吗?非常感谢。

除了错误的 de "undefined" 之外,它甚至都没有附加它。菜单列表 y 为空。

4

1 回答 1

3
 var table;   for (var i=0; i< resp.Tables.length; i++){
     table = resp.Tables[i];
     for(var j=0;j<table.Rows.length; j++ ){
          $('<option>').val( table.Rows[j].Column1).text(table.Rows[j].Column1).appendTo('#selectID');
    }
    }

我建议你更快的方式。

var html = "";
    for (var i=0; i< resp.Tables.length; i++){
    table = resp.Tables[i];
     for(var j=0;j<table.Rows.length; j++ ){
         html +='<option value="'+  table.Rows[j].Column1 +'"> '+  table.Rows[j].Column1 +'</option>';
    }
    }
$(html).appendTo('#selectID');
于 2012-11-04T14:42:26.077 回答