我有一个动态创建的HTML表。在每一行都有一个下拉列表,我需要在下拉列表中添加选项。但是,我的代码只会向第一行添加值。
以下是我创建表格并尝试添加选项的方法。
$.post(
'dataform.php',
{ functionname: JSON.stringify('operation'), args:part},
function(response) {
result = JSON.parse(response);
block = []
for (var item in result){
var objectItem = result[item];
var opnum = objectItem.opnum;
var opdesc = objectItem.opdesc;
var wc = objectItem.wc;
var sel = document.createElement("select");
sel.type = "select";
sel.id = "sel";
sel.value = wc;
var activity = objectItem.activity;
var machine = objectItem.machine;
var direct_labor = objectItem.direct_labor;
block.push(opnum);
block.push(opdesc);
block.push(wc);
block.push(sel);
block.push(activity);
block.push(machine);
block.push(direct_labor);
ops.push(block);
block = [];
}
for (var i = 0; i < ops.length; i++) {
tr = document.createElement('tr');
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.appendChild(document.createElement('td'));
tr.cells[0].appendChild(document.createTextNode(ops[i][0]));
tr.cells[1].appendChild(document.createTextNode(ops[i][1]));
tr.cells[2].appendChild(ops[i][3]);
tr.cells[3].appendChild(document.createTextNode(ops[i][4]));
tr.cells[4].appendChild(document.createTextNode(ops[i][5]));
tr.cells[5].appendChild(document.createTextNode(ops[i][6]));
table.appendChild(tr);
}
tablearea.appendChild(table);
},
)
$.post(
'dataform.php',
{functionname: JSON.stringify('wc')},
function(response) {
result = JSON.parse(response);
block = []
for (var item in result){
var objectItem = result[item];
var wrkc = objectItem.wc
var act_key = objectItem.activity;
debugger;
$.each($('#sel').append($("<option></option>").html(wrkc)));
}
}
)
})
我已经尝试在每次创建单元格时附加选项并且我得到相同的结果。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:0)
('#sel')
ID选择器在内部使用document.getElementById()
,它只能返回一个元素。所以它只会增加一个。如果要将其附加到包含所述类的每个元素,请使用该类。