2014-02-19 107 views
0

我的HTML部分低於:如何獲得選定的單選按鈕的值

<input id="yes" save-value="yes" value="no" name="view_y" class="switch-input yes" type="radio"> 
<label checked="checked" class="switch-label switch-label-off selected" for="yes">Yes</label> 
<input id="no" save-value="no" value="no" name="view_n" class="switch-input no" type="radio"> 
<label class="switch-label switch-label-on" for="no">No</label> 
<span class="switch-selection"></span> 

當我點擊每個按鈕檢查=「檢查」和選擇的選項將是被更改爲無標籤。

有了這些選項,我怎樣才能獲得所選單選按鈕的保存值。因爲我在我的價值選項上使用Handlebars js(json),我想要獲得所選單選按鈕的保存值。

我該怎麼做?

回答

1

假設switch-input只分配給這兩個輸入元素的類,你可以用它與檢查選擇

var value = $('input.switch-input').filter(':checked').attr('save-value'); 
//or var value = $('input.switch-input:checked').attr('save-value'); 

沿着注:優先使用數據 - *屬性來存儲自定義屬性


我認爲單選按鈕實際上沒有被檢查,只有標籤屬性被更改,因此請在標籤上添加額外的類,如myclass

<input id="yes" save-value="yes" value="no" name="view_y" class="switch-input yes" type="radio"/> 
<label checked="checked" class="myclass switch-label switch-label-off selected" for="yes">Yes</label> 
<input id="no" save-value="no" value="no" name="view_n" class="switch-input no" type="radio"/> 
<label class="myclass switch-label switch-label-on" for="no">No</label> 
<span class="switch-selection"></span> 

然後

var value = $('.myclass[checked="checked"]').prev('input').attr('save-value'); 
console.log(value) 
+0

它顯示我不確定當我用你的代碼.. – user3271762

+0

@ user3271762查看更新 –

+0

它的工作Arun ..感謝 – user3271762

0

首先,你的單選按鈕應具有相同的名稱屬性,說view,這樣瀏覽器將限制選擇到只是其中之一。然後,您可以使用$('[name="view"]:checked').val()來捕獲所選單選按鈕的值。

0

您的HTML代碼中的一些錯誤,你把選中屬性上錯了標籤,看下面的例子:

$('body').on('change','input',function() { 
    $('.switch-selection').html($(this).attr('save-value')); 
}); 

http://jsfiddle.net/9Pj3g/2/

+0

它顯示我undefined ..我更新你的小提琴檢查它,讓我知道。 – user3271762