使用Javascript将行插入FORM中的HTML表
Inserting Row Into HTML Table within a FORM using Javascript
我正在尝试使用javascript将一行添加到位于表单中的表中。当它在<形成>标记,但一旦代码被<表单>,添加的行将弹出几毫秒,然后消失。
所附代码在Firefox和Mozilla上进行了测试,结果相同。如果我移除<表单>标记,代码运行良好。关于为什么<form>标记是否导致重新加载并使添加的行消失?
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script>
<script>
function addTableRow() {
var len = $('#vendorstbl tr').length
var table = document.getElementById("vendorstbl");
var row = table.insertRow(len);
var cell0 = row.insertCell(0);
var cell1 = row.insertCell(1);
cell0.innerHTML = "<select id='test"+len+"'><option name='test"+len+"'>Apple</option><option name='test"+len+"''>Sony</option></select>";
cell1.innerHTML = "<input type='text' size='25' id='product"+len+"' name='product"+len+"'' value='Enter Data'>";
}
</script>
<html>
<body>
<h3>Adding Row To Table Test:</h3>
<form>
<table class='add' id='vendorstbl'>
<tr><th>Vendor</th><th>Product</th></tr>
</table>
<button onclick='addTableRow()'>Add Row</button>
</form>
</body>
</html>
您是否考虑过使用AngularJS指令来实现这一点?一个带有一些格式的简单ng Repeat只需几行代码就可以实现这一点。
<table>
<tr ng-repeat="person in people" ng-class="rowClass(person)">
<td>{{ person.name }}</td>
</tr>
</table>
示例:http://jsfiddle.net/xEyJZ/
来源:https://docs.angularjs.org/api/ng/directive/ngRepeat
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 加载存储在IndexedDB中的HTML页面
- 确定javascript中的html表对象是否具有<colgroup>是否
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- 如何在JQuery中的.html()方法中包含fadeneffect
- 使用Angular显示JSON中的HTML
- 统计ajax返回数据中的html元素
- html5中数据描述属性中的html列表
- 包括android中的HTML UI
- xpages:计算字段中的HTML表
- 文本框中的Html 5 x 5矩阵式控件
- 如何转义字符串中的html实体
- 正在转义javascript数组中的html字符
- 使用JavaScript中的HTML颜色和透明度
- 如何在编译时更新yeoman angular中的html路径
- 如何获取保存在变量中的HTML代码的任何属性的值
- 如何在internjs中打印createpage中的HTML源代码