添加、删除和重命名输入jQuery
我在互联网上获取了下面的代码,但我不知道如何在添加或删除输入时自动重命名输入 html添加、删除和重命名输入jQuery,jquery,html,input,add,rename,Jquery,Html,Input,Add,Rename,我在互联网上获取了下面的代码,但我不知道如何在添加或删除输入时自动重命名输入 html jQuery $(function() { var scntDiv = $('#p_scents'); var i = $('#p_scents p').size() + 1; $('#add').live('click', function() { $('<p><input type="text" id="p_scnt" s
jQuery
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents p').size() + 1;
$('#add').live('click', function() {
$('<p><input type="text" id="p_scnt" size="50" name="opcao_' + i +'" /><a href="#" id="remove_opcao">Remover</a></p>').appendTo(scntDiv);
i++;
document.getElementById('qta_alternativas').value = i-1;
return false;
});
$('#remove_opcao').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
document.getElementById('qta_alternativas').value = i-1;
}
return false;
});
$("input[name^=opcao_]").each(function(index) {
this.name = "opcao_" + index;
});
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$('#添加').live('单击',函数()){
$('p>')。附录(scntDiv);
i++;
document.getElementById('qta_alternativas')。value=i-1;
返回false;
});
$('#remove_opcao').live('click',function(){
如果(i>2){
$(this.parents('p').remove();
我--;
document.getElementById('qta_alternativas')。value=i-1;
}
返回false;
});
$(“input[name^=opcao_]”)。每个(函数(索引){
this.name=“opcao”+索引;
});
}))
例如:
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />
如果我删除输入name=“opcao_3”,我的代码将如下所示:
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />
但当我删除代码时,我想:
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_4" />
<input type="text" id="p_scnt" size="50" name="opcao_1" />
<input type="text" id="p_scnt" size="50" name="opcao_2" />
<input type="text" id="p_scnt" size="50" name="opcao_3" />
我怎么能这么做?!有人能帮我吗
谢谢 将此代码添加到删除单击处理程序的末尾
$("input[name^=opcao_]").each(function(index) {
this.name = "opcao_" + index;
});
它将使用以“opcao_u2;”开头的name属性遍历所有输入,并使用索引重命名它们。我将此代码添加到我的代码中。。它正在工作
$(document).delegate('a','click',function()
{
$( this ).parent('p').remove();
});
向我们展示您必须删除输入的功能。只需稍加修改即可重命名其余的。另外,你不应该有相同ID的元素。这应该被更改。你的JavaScript代码在哪里?仅供参考,
ID
应该是唯一的为什么你不删除opcao_4?它不起作用:(我以前也试过,但我不知道为什么它不起作用,直到你去掉所有重复的ID(我怀疑还有比我们上面看到的更多的问题)那么您将遇到问题。该代码将完全按照您的要求执行,因此如果它不起作用,那么在其他地方就会出现问题。您在控制台中有任何错误吗?