2014-01-19 102 views
2

我也就是刪除它包含在div的創建動態使用jQuery在div一個按鈕,我使用這個刪除的每個格動態創建的div:問題刪除使用JQuery

$('.shift_button').click(function(e) { 
    e.preventDefault(); 
    $(this).parent().remove(); 
}); 

然而,沒有當按鈕被按下時,div仍然存在。任何想法我做錯了什麼?

下面是如何在div創建:

$('#shifts_to_complete').append('<div id="'+ length +'" class="current_shift" data-role="fieldcontain"></div>'); 
$('#'+ length +'').html('Location: ' + obj.shift_location + '<br>Date: ' + obj.shift_date + '<br>Shift Starts: ' + obj.start_time + '<br>Shift Ends: ' + obj.end_time + '<br>Hours Worked: ' + obj.duration + '<br>Pay for Shift: &pound' + shift_pay + '<br><button class="shift_button ui-btn ui-shadow ui-btn-corner-all ui-btn-up-b" id="btn_'+ length +'">Completed?</button>'); 

感謝

+0

感謝編輯我的佈局,仍然得到了堆棧溢出:) – JamesF

回答

2

使用event delegation

$(document).on('click','.shift_button',function(e) 
{ 
e.preventDefault(); 
    $(this).parent().remove(); 
}); 

將事件綁定到的文檔的所有未來的動態元素,如文件是父元素總是存在。

+0

完美,感謝您的快速答案!我會在12分鐘內讓我接受它作爲正確的答案。 – JamesF

+0

@JamesF,謝謝你的歡迎:) –