我有一個使用PHP打印的按鈕表。每個按鈕在其數據屬性中都有不同的值,但是都是一樣的。我想要一個特定按鈕的數據屬性的數據屬性的值。這是行不通的:當所有按鈕具有相同的ID時,獲取按鈕數據屬性的值
$(this).find('button').data('myatt')
上面返回的是第一個按鈕的數據屬性值,而不是用戶點擊的那個。
編輯:的jsfiddle來說明:http://jsfiddle.net/7fkfu/17/
任何想法?謝謝 :)。
我有一個使用PHP打印的按鈕表。每個按鈕在其數據屬性中都有不同的值,但是都是一樣的。我想要一個特定按鈕的數據屬性的數據屬性的值。這是行不通的:當所有按鈕具有相同的ID時,獲取按鈕數據屬性的值
$(this).find('button').data('myatt')
上面返回的是第一個按鈕的數據屬性值,而不是用戶點擊的那個。
編輯:的jsfiddle來說明:http://jsfiddle.net/7fkfu/17/
任何想法?謝謝 :)。
好的,問題在於你如何試圖使用.on
方法:你試圖說on().click()
,但你不希望這兩個。 .on()
的第一個參數是一個字符串,指示您要處理的事件。然後是一個選擇器,一個可選的數據參數,然後放置實際的處理器。 (還有一個事件地圖格式 - 請參閱.on() doco。)同樣在小提琴中,它正在檢查按鈕[rel=modal]
,但在HTML中它是rel=test
。請嘗試以下操作:
$(function() {
$('#mytable').on('click','tr button[rel=test]',function() {
alert($(this).data('mydata'));
});
});
更新的提琴的作品:http://jsfiddle.net/7fkfu/19/
另外,不要用相同的ID創建多個元素。 (在這種情況下,不影響你的代碼,但實際上它是無效的HTML,如果你真的嘗試通過ID選擇元素,這將很重要。)
非常感謝,非常感謝:D。 – ale
這是否工作:
$("#yourButtonId").click(function() { alert($(this).val()); //or something else that you want });
希望它可以幫助
對不起..不能解決它,但謝謝。請參閱http://jsfiddle.net/7fkfu/17/comments可能只能編輯5分鐘(點擊此框解僱) – ale
Richard的答案應該爲你做。如果不是,請指出您嘗試檢索數據屬性的上下文。代碼中顯示的(非工作)代碼行在哪裏適合您的代碼?顯示一些(生成的)HTML也無妨。 (並且在頁面上沒有超過一個元素具有相同的ID。) – nnnnnn
我已經創建了一個jsfiddle:jsfiddle.net/7fkfu/17希望能夠幫助解釋它。 – ale