Javascript 动态更新单击的复选框的值

Javascript 动态更新单击的复选框的值,javascript,jquery,Javascript,Jquery,所以我有多个复选框(实际上很多)用于表单。我使用的示例html代码如下所示: <input type="checkbox" class="form-control" id="question1" value="0"> <input type="checkbox" class="form-control" id="question2" value="0"> <input type="checkbox" class="form-control" id="question

所以我有多个复选框(实际上很多)用于表单。我使用的示例html代码如下所示:

<input type="checkbox" class="form-control" id="question1" value="0">
<input type="checkbox" class="form-control" id="question2" value="0">
<input type="checkbox" class="form-control" id="question3" value="0">
<input type="checkbox" class="form-control" id="question4" value="0">
<input type="checkbox" class="form-control" id="question5" value="0">

您可以选择复选框并更改其值。
表达式?true case:false case
是一个三元表达式,如果您不熟悉它们,它是一种内联if条件表达式的形式

$(':checkbox')。在('click',函数(){
this.value=this.checked?1:0;
});

当前,您没有任何复选框,这些复选框的名称为
checkbox
。相反,您只为它们分配了
表单控件
类。您可以通过使用属性选择器来分配类或目标,您可能从一开始就尝试这样做

input[type=checkbox]
也值得注意。尽管
click
事件会起作用,但在这种情况下以及在一般情况下处理基于输入/值的元素的任何情况下,它可能更合适

$(“输入[type=checkbox]”)。在(“更改”,函数()上{
如果($(this).is(':checked')){
$(本).val(“1”);
}否则{
$(此).val(“0”);
}
});


您试过了吗?尽管您的输入都没有
复选框
类。你可以在没有类的情况下执行
:复选框
。@SamuelSmith注意Carl下面提到的关于使用
更改
,而不是
单击
。单击将仅在用户单击复选框时触发,但是,他们可能会在您的复选框上单击tab键并点击空格键以切换状态。单击不会捕获此事件,而更改会捕获此事件。
input[type=checkbox]