Javascript 只有一个复选框被选中,并且没有值

Javascript 只有一个复选框被选中,并且没有值,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我对复选框有点小问题。更好的方法是单选按钮,但我必须使用复选框 代码如下: $('input.box1').not(this).prop('checked', false).val("N"); 它之所以起作用是因为选中了其中一个复选框。但对于这两个复选框,输入值为“true”。当我选中复选框other应该有一个“false”值时,如何更改代码以实现这一点 我试着这样做: $('input.box1').on('change', function() { $('input.bo

我对复选框有点小问题。更好的方法是单选按钮,但我必须使用复选框

代码如下:

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

它之所以起作用是因为选中了其中一个复选框。但对于这两个复选框,输入值为“true”。当我选中复选框other应该有一个“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')行有错误。此.prop('checked'),
正确)。val(“T”)

未捕获的TypeError:无法读取未定义的属性“prop”

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

正确的方法是在change函数中使用context
this

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

您的小提琴和代码不匹配。更新你的Fiddle你的服务器端语言是什么?你的代码现在可以工作了吗?我在演示中看到,发现您的代码在第一次启动时错误,复选框的数量大于2。如果您希望以与单选按钮相同的方式使用复选框(我的意思是一次只选中一个复选框,一旦选中,您就无法使用鼠标单击取消选中),请使用。fiddle更新了
Milind Anantwar的代码
这是正确的,但在我的情况下,我可以“取消”两个复选框@Adamo:很高兴这有帮助:)您的代码在第一次启动时出现错误,复选框数大于2。除了第一个复选框之外,所有复选框都将被选中。你们两个,兄弟,阿达莫,尼奥先生:对不起。我不明白你的意思。请指出这一问题的具体界线。是的,现在我明白了。如何修复此问题? $('input.box1').this.prop('checked', true).val("T") it throw Uncaught error instead of this u can use $(this).prop('checked', true).val("T")
(function ($) {
   var count = 0;
   $(document).ready(function () {
      $('input.box1').on('change', function(e) {
          $('input.box1').not(this).prop('checked', false).val("N");
          $(this).prop('checked', true).val("T");

          console.log($("#chkBox1").val(), $("#chkBox2").val());
       });
   });
})(jQuery);