0
我想生成两个下拉列表(元素)并将它们作为新行添加到表中。动态添加选择对象到表
这两个列表是通过读取已存在的select元素创建的。
var sfp_opt = document.getElementById('sfp_opt');
var sfps = [];
for (var i = 0; i < sfp_opt.children.length; ++i) {
var child = sfp_opt.children[i];
if (child.tagName == 'OPTION') sfps.push(child.value);
}
counter += 1;
var s1 = $("<select></select>");
s1.id = 'SfpSelId' + counter;
s1.name = 'SfpSelName' + counter;
for(var val in sfps) {
$("<option />", {value: val, text: sfps[val]}).appendTo(s1);
}
同样,我正在创建另一个名为s2的选择元素。 我想将这两个列表附加在单独的<td>
中,但同一行即<tr>
。 所以,我想这些方法:
1) $("#sfp_det tbody").append('<tr><td>'+s1+'</td><td>'+s2+'</td></tr>');
而且是不正确此显示为UI.s1.val [目标对象]()也没有帮助。
2)我可以使用.wrap()函数。这适用于一个列表。
$("#sfp_det tbody").append($(s1).wrap('<tr><td></td></tr>'));
我的问题是我怎么追加两个列表同样如此,我得到它的格式相当于<table><tr><td>list1(s1)</td><td>list2(s2)</td></tr></table>
其中S1和S2是下拉列表或选择元素?是否有可能使用.wrap()? 如果没有,任何人都可以请建议我正确的语法来完成这个工作吗?
如果我理解正确的话,你可以使用wrapAll。 – inser
我如何使用它?我已经试过了,它不起作用:'$(s1).wrap('
我更新了我的回答(js链接)。 – inser