2011-05-05 35 views
0

这里是链接:Demo linkjQuery的:委托添加输入字段,多次

点击“组”,然后单击“货币”。你会看到一个带有绿色“+”号的表格。点击这个绿色的'+'时,会添加多个输入字段,而不是一个。

以下是点击“+”号的代码。

线#:178

jQuery('#input span.con').delegate('p a[id=add_field]', 'click', function(){ 


var Id = jQuery(this).attr('id'); 
Id = 1+ parseInt(Id); 

jQuery('#input span.con p span.text_field').append('<span class="text_field" id="'+ Id +'"><input type="text" name="pemails[]" class="text_field" /><a class="edit_field" name="delete" id="'+ Id +'" href=""><img src="'+base_url+'resource/images/fend/delete.png" border="0" /></a></span>'); 

返回FALSE;

});

线#:472

jQuery('#input span.con').prepend('<p><label for="" class="label">Participent Email:</label><span class="text_field"><span class="text_field">Click here to add the data.<a class="edit_field" name="add_field" id="add_field" href=""><img src="'+base_url+'resource/images/fend/add.png" border="0" /></a></span><span class="text_field" id="1"><input type="text" name="pemails[]" class="text_field" /><a class="edit_field" name="delete" id="1" href=""><img src="'+base_url+'resource/images/fend/delete.png" border="0" /></a></span></span></p>'); 
    } 

对于js文件引用: 文件名:wizard.js 线#:178 线#:472(通过JavaScript它添加 '+' 号)

有人可以指导我哪里做错了,以及如何纠正。

在此先感谢

+0

正如你问** **先前的问题,尊重,现在你真的应该正确地格式化代码。请参阅[问]问题框右侧的方便**如何格式化**框以及** [?]中的[链接页面](http://stackoverflow.com/editing-help) **就在问题区域上方。 Ask a Question区域下有预览区域,用于查看结果的样子。 – 2011-05-05 06:30:05

+0

另外(因为我们大多数人不会遵循链接):我猜测,当你点击链接时,这些字段不会被添加。那是你所看到的吗?你看到什么事情发生?你在调试器中看到什么? – 2011-05-05 06:31:07

+0

使用简单的方法来做到这一点直接克隆该控件并添加 – 2011-05-05 06:32:24

回答

1

您不应该有重复ID,永远不会。这可能会导致你的问题。

你给同一个身份证(VAR)的跨度和一个在这条线(和它们的数值,不应该!)

jQuery('#input span.con p span.text_field').append('<span ... id="'+ Id +'">...<a ... id="'+ Id +'" ...>...</a></span>'); 

我的建议是使用像IDS以下:

var aId = "a"+Id; 
var spanId = "span"+Id; 

所以你必须:

jQuery('#input span.con p span.text_field').append('<span ... id="'+ spanId +'">...<a ... id="'+ aId +'" ...>...</a></span>'); 

希望这有助于。干杯

+0

它仍在多次添加输入框。 – Simpanoz 2011-05-05 07:12:43

相关问题