2014-08-28 32 views
0

我認爲這是某種錯誤。我不知道,因爲我沒有太多的jQuery高級。jquery,通過get方法不工作提醒onclick數據

我想要做的是,做一個得到request> value.html(result)>。一旦數據顯示在頁面上,這是一些跨度按鈕,我做了一個小的onclick功能進行測試,但它不起作用。

$('#tag').click(function(){ alert(0); }); }); 

一個GET請求,例如:

$.get("tags.php?page=1&cat=dogs", function(data) { 
    $(".result").html(data); 
}); 

,這是什麼tags.php回報:

<span class="btn btn-default" role="button" id="tag">aaa</span><span class="btn btn-default" role="button" id="tag">bbb</span> 

所以這個數據顯示到頁面正確的,但我試圖要做的是獲得跨度的價值。正如你所看到的,我做了一個簡單的警報功能,如果跨度被點擊,它不起作用。它可以與頁面上的其他跨度按鈕一起使用,但不能與此形式的獲取請求一起顯示。

感謝您的幫助和對英語不好的抱歉。

+1

嘗試'$(文件)。在( '點擊', '#標籤',函數(){警報(0);});'。這樣,事件就與文檔綁定,而不是不存在的元素。 – blex 2014-08-28 14:37:59

+0

[動態創建的元素上的事件綁定?]的可能重複?(http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) – Mritunjay 2014-08-28 14:38:14

+0

哦,你有2個'span'元素ID'#標籤'。這是無效的。使用類,如果你將有多個元素 – blex 2014-08-28 14:40:36

回答

1

試試這個

$("body").on("click","#tag",function(){alert(0);});}); 
+0

結果與blex的代碼相同,它適用於第一個跨度但不適用於其他 – user3585333 2014-08-28 14:47:23

+0

使用一個類例如。 「.tag」,而不是「#tag」,因爲你不能擁有多個具有相同ID的元素。 – 2014-08-28 15:06:17

+0

是的,您可以使用@MariusDarila – 2014-08-28 15:15:14

0

只是事後綁定您將HTML:

$.get("tags.php?page=1&cat=dogs", function(data) { 
    $(".result").html(data); 
    $(".result").find('#tag').click(function() { 
     alert("Hello world!"); 
    }); 
}); 
+0

建議的名稱來嘗試在多個控件中添加相同的ID,您的解決方案也很棒,謝謝。 – user3585333 2014-08-28 16:39:00