2015-04-02 41 views
0

假設我正在建造類似於購物車的東西。從附加文本調用javascript(訂購購物車)

我有一個主頁和很多子頁面。 在子頁面上,我有一些指定的產品,用戶可以通過點擊按鈕添加到訂單。

如果用戶點擊按鈕,JavaScript被稱爲抓取產品的名稱,並將AJAX發送給某個PHP文件,該文件將該產品名稱添加到$ _SESSION數組中。

如果購物車中至少有一件產品出現在屏幕底部的FIXED div上,這個div運行模態(bootstrap),它包含用戶添加到訂單中的所有產品。我再次使用javascript + AJAX來確定點擊。如果是這樣,就會有一個呼叫.php文件,它返回STRING包含所有產品。然後,這個字符串被附加到這個模式中的div上。

這種模式的內容是這樣的:

'name_of_the_product', '刪除', 'id_from_session_array' ... ...

所以我想允許用戶使用DELETE選項任何他的產品在這個清單中,如果他不再需要這種產品在購物車中。我將刪除文本包裝在一些錨中,並將它給了它 - 讓我們說'.delete_from_cart'。

而現在,當我試圖在JavaScript來檢查,如果這個元素(「.delete_from_cart」)已被點擊,什麼都不會發生。此 示例代碼如下所示:

$('.delete_from_cart').click(function() { 
    alert("foo"); 
}); 

沒有警報點擊一些.delete_from_cart格後都沒有。但是,在代碼源中,所有這些錨都有這個類。

如何解決這個問題?它看起來像JavaScript沒有看到從這個div的Ajax附加元素。任何幫助?

+1

在瀏覽器控制檯任何錯誤..?你能給我們演示一個小提琴嗎? – Sarath 2015-04-02 12:55:06

回答

2

,因爲你說,你的模式是使用Ajax調用產生的,你就無法點擊事件附加到元素。您將需要使用jQuerys on()方法來綁定onclick。

$("#themodal").on("click", ".delete_from_cart", function(){ 
alert('it worked'); 

});

請參閱()方法的更多詳細信息。 https://api.jquery.com/on/