0

これは私がページで取得する私のjsonデータです。毎回異なるデータと長さをもたらします。

 {
       "d":[
          {

             "MenuItem":"AboutUs",
             "NoOfColumn":0,
             "ColumnNo":0,
             "ContentType":1,
             "MenuContent":"testtest",
             "Header":"Header",
             "MenuItemID":2,

          },
          {
             "MenuItem":"AboutUs",
             "NoOfColumn":0,
             "ColumnNo":1,
             "ContentType":1,
             "MenuContent":"sdfsdfsdfsdfsdfdsfsdf",
             "Header":"Header",
             "MenuItemID":2,
          }
       ]
    }

だから私は動的にフィールドを作成してそれをバインドしようとします。

       var contain = data.d;
       var html = "";
       $.each(contain, function(index, item) {
        html += '<input type="text" val=' + item.Header + ' id=txtColumnHeader_' + item.ColumnNo + ' class="Inputbox" />';

       var txtColumnHeader="txtColumnHeader_"item.ColumnNo;
       $('#'+txtColumnHeader).val(item.MenuItem);  //Its not work.Want help here. data.d have value.
    alert(item.MenuItem);
       });
 $('#divEdit').html(html);//Div is in html page its not created dynamically.

私も試してみます:

$('#'+txtColumnHeader).text(item.MenuItem);

しかし、それも機能しません。しかし、アラートは私に正しい値を与えます。私の間違いは何ですか。私が間違っているところ。ありがとう。

4

1 に答える 1

0
var html = "";
$.each(contain, function(index, item) {
    html += '<input type="text" id="txtColumnHeader_' + 
            item.ColumnNo + '" class="Inputbox" value="' + item.MenuItem + '" />';
});

.val()初期化時に値を設定するため、必要ありません。

ただし、使用したい場合は.val()、次を試してください。

var txtColumnHeader="txtColumnHeader_" + item.ColumnNo;

                                       ^--- you missed this `+` here

$('#'+txtColumnHeader).val(item.MenuItem);
于 2012-05-30T14:02:04.047 に答える