gpt4 book ai didi

javascript - 不同部分的相同功能 - jquery 中的相对引用

转载 作者:行者123 更新时间:2023-12-02 18:37:18 28 4
gpt4 key购买 nike

通过使用相对引用,我可以删除已添加到表单特定部分的列表中的项目。例如,通过添加需求,可以将其从需求中删除。

我的问题有两个:

  1. 将项目添加到引用文献中会将其添加到所有三个类别
  2. 当我尝试向其他部分(资格)添加值时,它显示我的输入为空。

http://jsfiddle.net/spadez/9sX6X/60/

var container = $('.copies'),
value_src = $('#current'),
maxFields = 10,
currentFields = 1;

$('.form').on('click', '.add', function () {
value_src.focus();
if ($.trim(value_src.val()) != '') {
if (currentFields < maxFields) {
var value = value_src.val();
var html = '<div class="line">' +
'<input id="accepted" type="text" value="' + value + '" />' +
'<input type="button" value="X" class="remove" />' +
'</div>';

$(html).appendTo(container);
value_src.val('');
currentFields++;
} else {
alert("You tried to add a field when there are already " + maxFields);
}
} else {
alert("You didn't enter anything");
}

})
.on('click', '.remove', function () {
value_src.focus();
$(this).parents('.line').remove();
currentFields--;
});

是否可以通过使用相对引用(例如“父级”)来修改此代码,而无需在每个部分重复它。我想对所有三个部分使用相同的脚本,但拥有它,因此每个列表都是独立的。

我是 javascript 新手,所以我想知道这是否可能,因为我只设法让它在删除时工作。

最佳答案

您必须使用this获取当前元素。在你的情况下this指的是被点击的按钮。
下一步是获取属于按钮的输入框。例如。 $(this).prev();就像这个例子一样:

$('.form').on('click', '.add', function () {
var value_src = $(this).prev();

http://jsfiddle.net/9sX6X/62/

您的附加部分也是如此。您正在将 html 附加到与 $('.copies') 匹配的所有三个元素中。相反,您必须尝试从 this 到达那里.

$('.form').on('click', '.add', function () {
var value_src = $(this).prev();
var copies = $(this).parent().prev();

http://jsfiddle.net/9sX6X/63/

关于javascript - 不同部分的相同功能 - jquery 中的相对引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195092/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com