请不要jquery。
我已经看到了几个这样的示例,其中输入字段在更新之前已经存在于页面上,但我想动态创建输入字段,然后使用页面中可用的信息填充它(因此current_value变量在此代码段上方定义:
for (i=0; i<tables.length; i++) {
(function(i) {
var sp = document.createElement('span');
var act_table = document.createElement('table');
act_table.id = 'act-tests-' + i;
act_table.style.display = 'none';
var test_name_input = document.createElement('tr');
test_name_input.innerHTML = '<tr><td width="100px">Name</td><td><input type="text" class="wideValue testName input"></td></tr>';
test_name_input.setAttribute('value', current_rule);
act_table.innerHTML ='<tbody><tr>LOTS OF TABLE ROWS HERE</tr></tbody>';
act_table.insertBefore(test_name_input,act_table.firstChild);
sp.appendChild(act_table);
}
该字段正在显示但未填充我的current_value。
非常感谢任何帮助。
答案 0 :(得分:3)
在您的示例中,您将属性设置为tr
,而不是创建的输入字段。
尝试这样做:
document.getElementsByClassName("input")[you_index].setAttribute("value", current_value);