作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
标题不是很详细,但我找不到更好的。随意编辑它。
基本上我正在寻找的是执行以下操作的最佳方法:
当用户单击“添加新项目”时,将添加一个新行,其中包含一个相同的文本框并下拉,如上所示。我能想到的选项如下:
<script language="html">
标签来定义模板)。你有什么建议?我对上述任何解决方案都不完全满意。
最佳答案
假设采用 super 简单的方法并且您的格式在表格中:
<table>
<tr>
<td><input type="text" name="item_name" placeholder="item name" /></td>
<td><select name="item_type"><option value="" selected="selected">Type</option></select></td>
</tr>
<tr>
<td><input type="text" name="item_name" placeholder="item name" /></td>
<td><select name="item_type"><option value="" selected="selected">Type</option></select></td>
</tr>
<tr>
<td colspan="2" id="add">+ Add new item</td>
</tr>
</table>
您可以使用以下内容:
$('#add').on('click',function(e){
var $this = $(this);
var $newRow = $this.closest('table').find('tr:first').clone();
$newRow.find(':input').val('');
$newRow.insertBefore($this.parent());
});
分割:
$this.closest('table')
).clone()
).find(':input').val('')
)$newRow.insertBefore(...)
)您也可以采用模板方法,但这完全取决于您以及您希望对输出进行多少控制。
关于javascript - 如何在 JavaScript 中实现 "add new item"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367529/
我是一名优秀的程序员,十分优秀!