这是我的HTML代码:
<label><input type="radio" id="fNuttig" /> Nuttig</label>
<label><input type="radio" id="fNietNuttig" /> Niet nuttig</label>
<label><input type="radio" id="fNogUitTeMakenNuttig" />Nog uit te maken</label>
这是我的JavaScript代码:
if ($('#fNuttig').val() == 'on') {
nuttig = 'Nuttig';
} else if ($('#fNietNuttig').val() =='on') {
nuttig = 'Niet nuttig';
} else if ($('#fNogUitTeMakenNuttig').val() =='on') {
nuttig = 'Nog uit te maken';
} else {
nuttig = 'ongeldige invoer';
}
alert($('#fNuttig').val()); // Gives 'on'
alert($('#fNietNuttig').val()); // Gives 'on'
alert($('#fNogUitTeMakenNuttig').val()); // Gives 'on'
alert(nuttig); // Gives 'on'
按下按钮时将调用此代码。
为什么我的所有单选按钮都打开了?如果我添加'name ='标记,并使用PHP完成相同操作,则它确实可以正常工作,并且在javascript中,它表示我的按钮始终处于“打开”状态。
我究竟做错了什么?
伊万
最佳答案
您要使用if ( $('#fNuttig').is(':checked') )
而不是if ( $('#fNuttig').val() == 'on' )
。$('#fNuttig').val()
只是在检索value属性的值,无论是否选中。 $('#fNuttig').is(':checked')
如果被选中,将返回true,否则,则返回false。