这是我的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。

07-28 09:45