[英]Using Jquery to dynamically add an element to my form
我已經按照教程創建了一些html和Jquery,它們應該在單擊添加新按鈕時動態添加新元素。 但是,我正在測試jsfiddle並且它無法正常工作,我使用了與教程中使用的完全相同的代碼。 誰能看到我哪里錯了?
http://jsfiddle.net/pocockn/P5uPQ/1/
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;
$('#addNew').live('click', function() {
$('<p><input type="text" id="p_new" size="40" name="p_new_' + i +'" value="" placeholder="I am New" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;
return false;
});
$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
所以你應該用on()
替換live()
on()
。
嘗試這個:
$(function () {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;
$('#addNew').on('click', function () {
$('<p><input type="text" class="p_new" size="40" name="p_new_' + i + '" value="" placeholder="I am New" /><a href="#" class="remNew">Remove</a> </p>').appendTo(addDiv);
i++;
return false;
});
$(document).on('click','.remNew', function () {
if (i > 2) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
注意:
remNew
必須使用委托。 live已被棄用
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;
$('#addNew').click(function() {
$('<p><input type="text" id="p_new" size="40" name="p_new_' + i +'" value="" placeholder="I am New" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;
return false;
});
alert(i);
$('#remNew').click(function() {
if( i > 3 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
你需要改變:
$('#addNew').live('click', function() { ...
至:
$('#addNew').on('click', function() { ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.