javascript - 单选框和 JQuery

标签 javascript jquery html radio-button

这是我的 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() ==“开”)

$('#fNuttig').val() 只是检索 value 属性的值,无论它是否被检查。 $('#fNuttig').is(':checked') 如果已检查则返回 true,如果未检查则返回 false。

关于javascript - 单选框和 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145149/

相关文章:

javascript - 使用 Serverless v1.4.0 为 AWS Lambda 设置环境变量时遇到问题

javascript - 如何检测 "shift+enter"并在 Textarea 中生成新行?

layout - anchor (<a>) 维度,内部只有内联 block 跨度

javascript - 排序ajax请求

javascript - javascript中定义对象的各种方式之间的区别

javascript - 如何在 colorbox 中启动 YouTube 视频?

html - 我应该使用什么字符来保持空(零宽度)字符串的高度?

javascript - 防止视频加载时重置 currentTime?

javascript - 将点击事件附加到 div 内的某些链接

javascript - jQuery:根据窗口宽度更改 jQuery