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"}]}]};

ここで何か不足していますか?どうもありがとう。

間違っている「未定義」に加えて、それを追加することすらありません。メニューリストは空です。

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 に答える