2012-05-04 136 views
1

我有一組單選按鈕都具有相同的名稱。 我使用選擇器通過名稱將.changed事件附加到單選按鈕組合上。 事件發生,但單選按鈕組的.val()是更改前的組的值,而不是更改後的值。 如何獲得更改後的價值,必須有我做錯的事情。jquery和RadioButton更改事件

$('[name="Messages"]').click(function() { 
    someFunction('Messages', $('[name="Messages"]').val()) 
}); 

回答

4

您可能需要點擊特定單選按鈕的值。您可以使用$(this).val()來獲取它。否則,你需要澄清,沒有「團體價值」這樣的事情。每個單獨的單選按鈕應該有它自己的價值。

$('[name="Messages"]').click(function() { 
    someFunction('Messages', $(this).val()); 
}); 
1

您不會濾除未選中的單選按鈕,因此您的點擊將始終返回DOM中第一個單選按鈕的值。嘗試在:checked過濾掉:

$('[name="Messages"]').click(function() { 
    someFunction('Messages',$('[name="Messages"]:checked').val()); 
}); 

小提琴:http://jsfiddle.net/T7Q8T/

+0

該信息被點擊的將是已檢查了一個的一個!無需重新查詢DOM。 –

+1

嗯,它看起來像我過分複雜這一個!我嘗試了你的小提琴,它的工作原理,我懷疑它不會,但我把我的帽子給你,+1爲你:) – mattytommo

+0

+1爲小提琴.. – Jay