我有一个jquery $ .get函数来获取数据和每个数据,我正在为用户输入相应的文本。
for(var i = 0; i <data.length; i++){
var newHtml = '<tr><td>'+ idx + '</td><td>' + data[i].name + '</td><td>' + data[i].type + '</td><td>'
+ data[i].required + '</td><td>'+ '<input type="text" id="mValue'+i+'" class="form-control" placeholder="enter number'+i+'" /></td></tr>';
$(newHtml).appendTo('#dt_basic');
idx++;
_currentValues[data[i].name] = $('#mValue');
}
如代码中所示,我创建了一个</input>
,ID为&#34; mValuei&#34;和i
可以从0到data.length。我如何获得输入框的值?我试过了$('#mValue'+i).val()
,但它似乎没有效果。
答案 0 :(得分:2)
使用value
属性填充input
'<input type="text" id="mValue'+i+'" class="form-control" placeholder="enter number'+i+'" value="'+i+'"/>'
$('#mValue'+i).val('new value of input') ;
currentVal=$('#mValue'+i).val() ;
因此,您使用val
作为getter(val()
不带参数),但是,您应该将它用作setter(使用一个参数,这是INPUT的新值)
$(data.map((e,i)=>
`<tr>
<td>${i}</td>
<td>${e.name}</td>
<td>${e.type}</td>
<td>${e.required}</td>
<td><input type="text" placeholder="enter number${i}" class="form-control" id="mValue${i}" value="${e.name}"></td></tr>`).join('')).appendTo('#dt_basic');