2011-05-05 76 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