这是我在页面中获得的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);
但它也没有用。但警告给了我一个正确的价值。我的错误是什么。我错了。谢谢。
答案 0 :(得分: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);