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() not necessary, because you're set the value in the time of initialization.

But if you wanna use .val() then try:

var txtColumnHeader="txtColumnHeader_" + item.ColumnNo;

                                       ^--- you missed this `+` here

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