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函数中使用contextthis
:
$('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);