删除创建的 JavaScript 字段集
Removing a created javascript fieldset
我在网上找到了一个函数,单击它会添加一些输入和链接。单击此链接时,应删除创建的输入。
问题是,我使用字段集,尽管我可以创建新输入,但如果需要,我无法删除它们。
<script type="text/javascript">
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents').size() + 1;
$('#addScnt').on('click', function() {
$('<p><fieldset class="form-group input-group-sm col-md-4"><label for="formGroupExampleInput">Title</label><input type="text" class="form-control" id="p_scnt" name="p_scnt_' + i +'" style="max-width: 100px;" placeholder="e.g. Day 1" /></fieldset><fieldset class="form-group input-group-sm col-md-8"><label for="formGroupExampleInput">Artists</label><inputtype="text" class="form-control" id="p_scnt" name="p_scnt_' + i +'" style="max-width: 250px;" placeholder="e.g. AC/DC, Guns and Roses" /></fieldset><a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
i++;
return false;
});
$('#remScnt').on('click', function() {
$(this).parent().remove();
return false;
});
});
谁能帮忙?
您需要将按钮单击侦听器移动到循环内部。
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents').size() + 1;
$('#addScnt').bind('click', function() {
//$().appendTo(scntDiv);
console.log(i)
$('<p id="newp'+i+'"></p>').appendTo(scntDiv);
var html = '<fieldset class="form-group input-group-sm col-md-4"><label for="formGroupExampleInput">Title</label><input type="text" class="form-control" id="p_scnt" name="p_scnt_' + i +'" style="max-width: 100px;" placeholder="e.g. Day 1" /></fieldset><fieldset class="form-group input-group-sm col-md-8"><label for="formGroupExampleInput">Artists</label><input type="text" class="form-control" id="p_scnt" name="p_scnt_' + i +'" style="max-width: 250px;" placeholder="e.g. AC/DC, Guns and Roses" /></fieldset><a href="#" id="remScnt' + i +'">Remove</a>';
var succss = $("#newp"+i).append(html)
console.log(succss)
$('#remScnt'+ i ).on('click', function() {
console.log($(this).parent())
$(this).parent().remove();
return false;
});
i++;
return false;
});
});
这是工作小提琴:
https://jsfiddle.net/4p2o9he9/13/
这
不起作用,因为绑定单击处理程序时 #remScnt 不存在:
$('#remScnt').on('click', function() {
.. stuff
});
可以使用委托的事件处理程序:
$(document).on('click', '#remScnt', function () {
.. stuff
});
查看直接事件和委派事件
嗨,
您正在创建具有相同ID的链接,这是第一个问题。删除链接最好使用类而不是 id。此外,您应该像这样解决它$(document).on("click", "remScnt", function(){})
另一个很好。
此外,最好在$(document).on("ready", function(){ //Your script in here});
中插入脚本 因此,一旦页面完全加载,就会添加所有事件。
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 编辑图像字段javascript验证空白图像不插入
- 如何在客户端填写PDF字段(Javascript)
- 如何通过 JSP 代码将隐藏字段(Javascript)插入 XML
- 为特定的隐藏字段javascript/jquery赋值
- 将金额分配给不同的字段javascript
- 静态私有字段Javascript
- 设置隐藏值字段 Javascript 的值
- 从输入字段Javascript获取值
- SPGridView字段-javascript:window.open问题
- Wordpress自定义字段-Javascript中的CSS
- 删除生成的字段javascript
- 在一个字段javascript上缺少零美分
- 隐藏默认文本在一个字段- Javascript
- Django Rest框架的许多相关字段- Javascript正确格式的int列表
- 检索createdAt字段Javascript
- 用于更改字段javascript中的值的函数
- 价格字段Javascript和Jquery验证
- 使用 onchange 在第二个字段 javascript 中输入数据
- 覆盖公共字段 JavaScript 原型