[英]get the selected radio button using jquery
我有一個看起來像這樣的表格:
<input type="radio" id="answer0" name="answer0" value="1" />
<input type="radio" id="answer0" name="answer0" value="2" />
<input type="radio" id="answer0" name="answer0" value="3" />
<input type="radio" id="answer0" name="answer0" value="4" />
我想要的是獲取所選的單選按鈕,所以我使用下面的jQuery代碼。
var id = "#answer0";
var isChecked = $(id).prop('checked');
但是我只在選中第一個單選按鈕時得到結果。 如果我選擇第二個,第三個和第四個,那就沒有結果。 請幫忙。
哦對不起。 我像這樣在php中生成單選按鈕...
print '<input type="radio" class="answer'. $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>' . $row['answer1'] .'<br/>';
print '<input type="radio" class="answer'. $q . '" id="answer'. $q . '" name="answer'. $q . '"value="2"/>' . $row['answer2'] .'<br/>';
print '<input type="radio" class="answer'. $q . '" id="answer'. $q . '" name="answer'. $q . '"value="3"/>' . $row['answer3'] .'<br/>';
print '<input type="radio" class="answer'. $q . '" id="answer'. $q . '" name="answer'. $q . '"value="4"/>' . $row['answer4'] .'<br/>';
所以我確定id是唯一的。 我要做的是獲取answer0,answer1的所選單選按鈕值等等......到目前為止,我只能獲得第一個組值(answer0)。
我的jquery代碼:
for ( var i = 1; i <=items; i++ ) {
var t = "answer" + i;
if($('.' + t).prop('checked')){
//alert(this.id);
alert(t);
correct++;
}
alert(correct);
}}
元素的ID必須是唯一的。
為這些輸入提供類名,例如.radio。
<input type="radio" id="answer0" class='radio' name="answer0" value="1" />
<input type="radio" id="answer1" class='radio' name="answer0" value="2" />
<input type="radio" id="answer2" class='radio' name="answer0" value="3" />
<input type="radio" id="answer3" class='radio' name="answer0" value="4" />
然后:
$('.radio').each(function(){
if($(this).prop('checked')){alert(this.id);}
});
你可以在這里看到它的演示
編輯:你知道,但課程不必是獨一無二的。 在你的循環中,你沒有使用ID,你為每個元素使用不同的類名。 所以要么改變。 對於#或只是在演示中顯示它
如果要查看所有無線電的值,請刪除條件
$('.radio').each(function(){
alert(this.id+" "+this.value);
});
如果您只想查看所選收音機的值,則:
$('.radio').each(function(){
if($(this).prop('checked')){alert(this.id+" "+this.value);}
});
我的建議
我認為你應該把它包裝成這樣的函數
function getSelectedRadioValue(){
$('.radio').each(function(){
if($(this).prop('checked')){return this.value;}
});
}
你可以隨時打電話
if(getSelectedRadioValue()=='1'){
// make some magic
}else{
// more magic
}
嘗試這個:
$("input:radio[name=answer0]").click(function(){;
alert($(this).val());
});
ID應該是唯一的,為它們添加NON-UNIQUE類並執行以下操作:
$('input.class:checked').val()
或者如果你不想使用類,只使用你已經擁有的名稱(只需確保ID是唯一的 - 它必須是 ):
$('input[name=answer0]:checked').val()
編輯:既然您已編輯原始帖子,請嘗試以下操作:
print '<input type="radio" class="answer" id="answer'. $q . '" name="answer'. $q . '"value="1"/>' . $row['answer1'] .'<br/>';
print '<input type="radio" class="answer" id="answer'. $q . '" name="answer'. $q . '"value="2"/>' . $row['answer2'] .'<br/>';
print '<input type="radio" class="answer" id="answer'. $q . '" name="answer'. $q . '"value="3"/>' . $row['answer3'] .'<br/>';
print '<input type="radio" class="answer" id="answer'. $q . '" name="answer'. $q . '"value="4"/>' . $row['answer4'] .'<br/>';
然后獲取值只需執行此操作:
var value = $('input.answer:checked').val()
now value
包含選定的值
它們都共享相同的ID,唯一的ID 必須是HTML。 而且,為所述ID硬編碼單個變量會更方便。
<input type="radio" id="answer0" name="answer0" value="1" />
<input type="radio" id="answer1" name="answer1" value="2" />
<input type="radio" id="answer2" name="answer2" value="3" />
<input type="radio" id="answer3" name="answer3" value="4" />
var id0 = "answer0";
var isChecked = $(id0).prop('checked');
等等。
使用類而不是id。
<input type="radio" class="answer0" name="answer0" value="1" />
<input type="radio" class="answer0" name="answer0" value="2" />
<input type="radio" class="answer0" name="answer0" value="3" />
<input type="radio" class="answer0" name="answer0" value="4" />
。
$(function(){
$('.answer0').on('change', function(){
alert($(this).val());
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.