javascript - IE 中的动态表

标签 javascript jquery html-table

我编写了这段代码,我想根据其他字段中的输入动态地增加/减少某些选定字段的行数。此代码在 Chrome 和 Firefox 中运行良好,但在 IE9 中不起作用。请帮忙。

HTML

<style type="text/css">
table { empty-cells: hide; }
</style>
<table border="3px" id="transTable">
<form method="post" >
<tbody>
<tr>
<th>Boxes</th><th>Some Field</th>
</tr>
<tr >
<td>
<input type="text" name="boxes" size="4" id="boxes"/>
</td>
<td>
<input type="text" name="somefield" size="5"/>
</td>
</tr>
</tbody>
</table>

JS

var i=2;
$("#boxes").change(function(){
var noofbox = $("#boxes").val();
previ=i;
prevn=noofbox;
while(prevn<previ)
{
    prevn++;
    $('#'+prevn).remove();
}

for(;i<=noofbox;i++)
{
    var htmlcon='<tr id="'+i+'"><td></td><td><input type="text" name="somefield'+i+'" size="5"/></td></tr>';
    $('#transTable > tbody:last').append(htmlcon);
}
i=noofbox;
i++;
});

JsFiddle:http://jsfiddle.net/YSPy5/

最佳答案

$('#transTable > tbody') 替换为 $('#transTable tbody') 它应该可以工作。

http://jsfiddle.net/Ssgqh/4/

这对我在运行 IE8 兼容性但不运行 IE7 兼容性的 IE9 中有效。如果 IE7 很重要,请完全删除 tbody 部分并仅附加到 $('#transTable')

http://jsfiddle.net/Ssgqh/5/

关于javascript - IE 中的动态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899766/

相关文章:

JavaScript 将对象添加到数组并进行迭代

javascript - 如何在 flex display 中将元素放在彼此下面?

css - 表格单元格高度显示不同 IE8 vs IE7 vs Firefox

Javascript:按标签类型获取 child

javascript - 在javascript中交换html表格元素(完整对象)

javascript - 使用 jQuery 将选择选项 ID 值复制到隐藏字段中

html - 如何在 html 表中的一个列标题下包含 2 列?

html - 表中的 Jquery 移动 UI 输入下拉格式化行为

javascript - 使用 jscala 将 Scala 类转换为 javascript

php - Jquery - 检查复选框是否一次选中一个