【发布时间】:2017-04-22 06:55:35
【问题描述】:
我在 JS 和 HTML 下面使用了在单击关闭图标时删除行。它工作正常。
但是,需要添加额外的 2 个逻辑。最多 9 行。
https://jsfiddle.net/jkenluv/4cj6qnye/3/
- 如果删除了 item2 并且 item3 存在,则 item3 的“id”必须更改为 item2。
- 如果在单击关闭时删除了 item2。如果用户再次单击“添加”.. 它与 item2。不是第 3 项。无论如何,必须遵循顺序... item1、item2、item3、item4、item5、item6、item7、item8、item9。
JS:
var i = 2;
$("#addMoreNames").click(function() {
var temp_id = "add-name"+i;
var firstNameInput = $('<div />', {'class': 'col-lg-6 col-md-6 col-sm-6 campaign-firstname form-validate', 'data-campaign-contact-id': i}).append('<div class="form-title">Given name</div>').append($("<input />", { type: "text", id:"campaign-firstname-"+i, class: "name-validator", name: "First Name", "data-firstname": "First name is missing" }));
var lastNameInput = $("<div />", {'class': 'col-lg-5 col-md-5 col-sm-5 campaign-lastname form-validate', 'data-campaign-contact-id': i}).append('<div class="form-title">Family name</div>').append($("<input />", { type: "text", id:"campaign-lastname-"+i, class: "name-validator", name: "Last Name", "data-lastname": "Last name is missing" }));
$("<div />", { "class":"row-names", id:"add-name"+i })
.append(firstNameInput[0])
.append(lastNameInput[0])
.append('<div class="col-lg-1 col-md-1 col-sm-1 remove-flight"><a href="javascript:void(0);" aria-label="Remove">X</a></div>')
.appendTo("#add-more--names");
$('.remove-flight a').on('click', function(e){
e.preventDefault();
$(this).parent().remove();
});
i++;
if (i < 10){
$(this).show();
} else {
$(this).hide();
}
谢谢
【问题讨论】:
-
为什么需要 id?
-
在每次点击
#addMoreNames时,您都会在每个.remove-flight a链接上添加一个新的点击处理程序:$('.remove-flight a').on('click', ... -
对不起..我无法理解您的说明。
-
动态地将行从“item2 添加到 item9”。如果用户不想或删除我的错误 item3(example).. 我需要的逻辑必须工作
标签: jquery