javascript - 仅选中一个复选框和值

标签 javascript jquery checkbox

我在复选框方面遇到了小问题。更好的方法是单选按钮,但我必须使用复选框来做到这一点。

代码如下:

$('input.box1').not(this).prop('checked', false).val("N");

DEMO

它正在工作,因为选中了其中一​​个复选框。但这两个复选框的输入值为“true”。当我选中其他复选框时,如何更改该代码以执行此操作应具有“false”值。

我尝试这样的事情:

$('input.box1').on('change', function() {
        $('input.box1').not(this).prop('checked', false).val("N");
        $('input.box1').this.prop('checked', true).val("T");
});

但没有成功

-我期望什么? 1.在示例中,单击第一个复选框 - 该复选框的值为“T”,第二个复选框的值为“N” 2. 单击第二个复选框 - 该复选框的值为“T”,第一个复选框的值为“N”

最佳答案

您的代码在 $('input.box1').this.prop('checked', true).val("T");

Uncaught TypeError: Cannot read property 'prop' of undefined

那是因为 $('input.box1').this 未定义。语法错误。

正确的方法是在更改函数中使用上下文 this :

$('input.box1').on('change', function() {
        $('input.box1').not(this).prop('checked', false).val("N");
        $(this).val(this.checked?'Y':'N');
});

<强> Working Demo

关于javascript - 仅选中一个复选框和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32392103/

相关文章:

jquery - 根据变量在 Accordion 标题上设置背景颜色

jquery - 我无法删除使用 jquery ajax 动态创建的行

java - 如何将额外数据存储到 Swing 复选框?

javascript - 如何更有效地呈现 Mathjax 内容?

javascript - 如何检测jquery中文档大小的变化

jquery - Angular 2 : setTimeout for everything?

javascript - 如何获取 Jquery bootgrid 中所有选中复选框的所有 ID?

javascript - 如何计算出根据拖动距离旋转轮子的度数?

javascript - Joi - not.exist()?

html - 试图防止自定义复选框在选中时跳转