2014-02-11 69 views
0

我完全意識到這個問題已經看到了很多變體,所以請在對它進行投票前徹底檢查它,因爲我確信明確的解決方案也會幫助其他許多人。jQuery獲取單選按鈕的選定索引

我有一系列單選按鈕被動態生成,作爲通過數據庫記錄循環的一部分。 HTML中每個記錄一個無線電。每個單選按鈕被分配一個記錄ID的數組索引值;

<input type="radio" id="use_msg_id[1]" value="1" /> 
<input type="radio" id="use_msg_id[2]" value="2" /> 
<input type="radio" id="use_msg_id[3]" value="3" /> 
<input type="radio" id="use_msg_id[4]" value="4" /> 

當用戶點擊,讓我們說,與use_msg_id的單選按鈕[3],我需要jQuery的是能夠收集到該索引值我。我知道有一種方法可以做到這一點,但一直沒有找到合適的解決方案。

謝謝。

+0

如果指數總是會在那進行排序奧德r,那麼你可以使用'index()' – Alvaro

回答

3

您可以使用regex提取數

$(':radio').change(function(){ 
    var index = $(this).val().match(/\d+/); 
}) 

DEMO

+1

對於'index'我相信他認爲'id'中的括號之間的數字,因此這個解決方案只有在這個數字與它們出現在DOM。 – Alvaro

+1

這將是正確的,我需要在括號中的數字。 – Skittles

+1

@Satpal - 非常完美!它爲我點擊的那個返回[「2」,索引:0,輸入:「2」]。我應該能夠從該結果中提取id。謝謝。 :) – Skittles

0

使用:

parseInt($(this).attr('id').replace(/use_msg_id[/, '').replace(/]/,'')); 
0

使用:

var id = this.id.substr(this.id.indexOf("["), this.id.indexOf("]")) 
parseInt(id); 
+0

此外,這個答案實際上爲我正在處理的同一過程的另一個方面帶來了解決方案。所以,也謝謝你! – Skittles

相關問題