gpt4 book ai didi

jquery - 删除后重命名属性名称

转载 作者:行者123 更新时间:2023-12-01 07:14:52 28 4
gpt4 key购买 nike

单击“添加”按钮时会创建一系列选择字段。选择字段是在无序列表中创建的,它有点像这样:

<li><select name="fieldname1"></select><input type='button' name='delbtn1'></li>
<li><select name="fieldname2"></select><input type='button' name='delbtn2'></li>
<!--etc-->

如您所见,我在名称中给出了一个序列。这是为了允许我在提交表单后执行服务器端脚本。

我还允许用户删除列表项,但我想在删除后仍保留序列命名。这意味着:如果我删除“1”到“3”之间的“fieldname2”,我想将其重新排序为“1”和“2”。

我尝试使用 .each() 方法来遍历每个列表项,但无法正确重命名该名称。真的不知道这里出了什么问题。

JS fiddle 在这里: http://jsfiddle.net/kosherjellyfish/JsW3a/3/

最佳答案

fiddle Demo

$("ul.criteriallist li .fieldname").each(function (index) {
$(this).prop("name", "fieldname" + ++index);
});

<小时/>或更好 .prop()

fiddle Demo

$("ul.criteriallist li .fieldname").prop("name", function (index) {
return "fieldname" + ++index;
});

<小时/> fiddle Demo

$("ul.criteriallist li .fieldname").prop("name", function (index) {
return "fieldname" + ++index;
});
$("ul.criteriallist li .deletebtn").prop("name", function (index) {
return "delete" + ++index;
});

<小时/>您的代码有问题

$("ul.criteriallist li").each(function (index) {
$(".fieldname").attr("name", "fieldname" + index + 1);
// $(".fieldname") refers to all elements so it sets same value to all
//index + 1 will concatenate string if index is 1 than it will result 11
//you can use $(this).find(".fieldname")
});

关于jquery - 删除后重命名属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313581/

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