2009-10-06 148 views
0
<input type="radio" value="G;-;P063P081719;-;84.063" name="awardDetail"/> 
<input type="radio" value="G;-;P063P091719;-;84.063" name="awardDetail"/> 
<input type="radio" value="G;-;P063Q081719;-;84.063" name="awardDetail"/> 

我沒有選擇默認檢查屬性checked="checked"。當我選擇一個單選按鈕時,我正在進行基於Ajax的調用。jquery單選按鈕檢查屬性?

$('input[name=awardDetail]:radio').click(function(){ 
    var awardinfo = $('input[name=awardDetail]:checked').val(); 

和發送此awardinfo給Ajax功能和從服務器返回的數據在DIV顯示量。

但是,我的單選按鈕被選中到上一個單選按鈕而不是當前選定的單選按鈕。

如何爲這個單選按鈕設置checked屬性來動態地傳遞選定的索引。

單選按鈕值組是從後端動態生成的。

回答

2

您可以使用關鍵字this(或使用event.target)引用處理程序中單擊的單選按鈕。例如

$('input[name=awardDetail]:radio').click(function(){ 
    var awardinfo = $(this).val(); 
    // other stuff here for ajax call, etc 
} 

$('input[name=awardDetail]:radio').click(function(event){ 
    var awardinfo = $(event.target).val(); 
    // other stuff here for ajax call, etc 
} 
+0

這是必要的,因爲在你的點擊處理程序被調用的時候,選擇的按鈕的變化還沒有發生。 (事實上​​,如果您的事件處理程序返回false/preventDefault,則無法更改收音機。) – bobince 2009-10-06 15:37:17

+0

我的問題與獲取值無關。我想要選擇單選按鈕。首先顯示頁面時,沒有選擇單選按鈕。當我第一次選擇時,選擇一個單選按鈕,如果我選擇另一個單選按鈕,則選擇它作爲ajax調用的時間,並在ajax調用之後選擇第一個選定的單選按鈕。 – prashanth 2009-10-06 15:40:46

+0

我試過這段代碼,var awardinfo = $(this).val(); 我能夠發送給服務器的值,但是頁面加載後選擇的第一個單選按鈕,即在ajax調用之後選擇的單選按鈕,而不是新的單選按鈕。 – prashanth 2009-10-06 15:41:51