2013-02-10 99 views
-1

我在此之前發現了許多問題的解決方案,但仍無法找到有關此問題的答案。我有一個容器,我用jQuery動態添加了其他元素。在裏面添加div的我有一個按鈕,所以我想當我點擊該按鈕和要刪除的按鈕。這是我到目前爲止嘗試沒有成功。

HTML

<div id="menuContainer"> 
<ul id="menu"> 
    <li><a href="#" id="addColumn">add Element (max 5)</a></li> 
    <li><a href="#" id="addCard">---</a></li> 
    <li><a href="#" id="delColumn">---</a></li> 
    <li><a href="#" id="delCard">---</a></li> 
    <li><a href="#" id="tblReset">---</a></li> 
</ul> 
</div> 
<div id="columns" style="width: 1000px;"></div> 

的jQuery:

$(function() { 
var columns = $('.column').size(); 

$('a#addColumn').click(function() { 
    if (columns < 5) {     
    var columnName = prompt('Внесете назив за колоната: '); 
    var temp = columns + 1; 
    $('<div class="column">' + columnName + '<button id="' + temp + '" style="float:right;" class="btnRemoveColumn">X</button></div>').appendTo('div#columns'); 
    columns++; 
} 
else { 
    alert("Имате максимален број на колони во таблата"); 
} 
}); 

$(".btnRemoveColumn").click(function(){ 
    $(this).parent().remove(); 
});    
}); 

所有與CSS可以在外部網站小提琴受審所以怎麼看都(不)工作。 Link here

+1

您正試圖將事件處理程序綁定到尚不存在的元素。這是行不通的。 – 2013-02-10 12:38:53

+0

你能用英語發出警報嗎? =) – 2013-02-10 12:40:29

+0

第一個提示表示「輸入列的名稱:」並且提示表示「您創建了最大列數」。 – al1en 2013-02-10 19:38:41

回答

0
$(document).on("click", ".btnRemoveColumn", function() { 

對於動態元素,應該委派事件。

+1

@RoryMcCrossan現在看到它;)我忘了 – 2013-02-10 12:40:21

+0

yay謝謝:D我不是很熟悉jQuery,爲什麼我堆棧感謝很多工作 – al1en 2013-02-10 12:43:03

+0

@ user2058726在發佈問題之前,您必須更喜歡語言文檔。也許它已經解決了你的問題。 – 2013-02-10 12:44:55

相關問題