Javascript 复选框值true/false

Javascript 复选框值true/false,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个带有复选框的表单,当表单返回到同一视图并出现错误时,我希望在提交表单后保持选中状态。我听说value属性可以帮助我选中复选框,所以我尝试将其设置为true/false。无论如何,即使我单击输入值,它也会保持“false”。到底发生了什么? 我认为单击复选框后该值变为真/假 <input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">

我有一个带有复选框的表单,当表单返回到同一视图并出现错误时,我希望在提交表单后保持选中状态。我听说value属性可以帮助我选中复选框,所以我尝试将其设置为true/false。无论如何,即使我单击输入值,它也会保持“false”。到底发生了什么? 我认为单击复选框后该值变为真/假

<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">

      <script>
          $("#checkbox1").is(':checked', function(){
              $("#checkbox1").attr('value', 'true');
          });
      </script>

$(“#checkbox1”).is(':checked',function(){
$(“#checkbox1”).attr('value','true');
});

使用
Checked=true

$("#checkbox1").prop('checked', true);

注意:我不清楚您是否要在复选框上单击/onchange事件<代码>是(“:checked”,function(){})在这个问题上是错误的。

在JS中,复选框可能非常奇怪。最好检查是否存在
checked
属性。(我已经让较旧的jQuery版本返回true,即使
checked
设置为'false'。一旦确定某个内容已被选中,则可以从
value
属性获取值。

函数没有
的签名。is('selector',function)

我猜你想做这样的事情:

      if($("#checkbox1").is(':checked')){
          $("#checkbox1").attr('value', 'true');
      }
试试这个

$(“#checkbox1”).is(':checked',function(){
$(“#checkbox1”).prop('checked',true);
});

如果我理解这个问题,您希望根据是否选中复选框来更改复选框的值

这里有一个解决方案:

$('#复选框值').text($('#复选框1').val();
$(“#checkbox1”)。on('change',function(){
如果($(this).is(':checked')){
$(this.attr('value','true');
}否则{
$(this.attr('value','false');
}
$('#复选框值').text($('#复选框1').val());
});

我将根据以下假设发布此答案。

1) 您(取消)选中了第一页上的复选框并提交了表单。
2) 构建第二个表单,并根据是否选中前一个表单设置值=“true/false”。
3) 您希望复选框反映之前是否选中了该复选框。

如果是这种情况,您可以执行以下操作:

var $checkbox1 = $('#checkbox1');
$checkbox1.prop('checked', $checkbox1.val() === 'true');

根据复选框是否被选中来返回true或false,我在JQuery中使用它


let checkState=$(“#checkboxId”)。是否(“:checked”)?“真”:“假”

这个问题把我弄糊涂了。如果选中复选框,您似乎想要更改该值。但传统上,复选框的值不会改变。它们的状态决定它们是否被传递到后端。值得指出的是,当切换复选框时,元素的HTML实际上并没有改变。因此,执行
.getAttribute('checked')
不会返回任何内容,即使您将“checked”属性应用于HTML以设置其初始状态。修复方法是访问输入的JS属性,也称为
checked
。也就是说,在用于复选框的更改事件的普通JS处理程序中,这不起任何作用:
byId('tgt')。value=this.getAttribute('checked')
,而这将文本设置为true或false:
byId('tgt')。value=this.checked您是说在第1页上,您可以选择一个复选框,然后提交,在第二页上,您希望选中的状态与第一个表单上的状态保持一致?如果未单击复选框,我只需要返回一条错误消息。Damndoes
“true”
与布尔值做相同的事情吗?不确定您是否需要在trues周围使用单引号,而使用“true”时,它将按预期工作。但是,如果您想取消选中并使用“false”将不起作用。因此,使用布尔值是很好的。更新。谢谢:)道具不是一个功能:(谢谢你指出这一点。无论如何,它对我来说仍然不起作用。哦,天哪,为什么xD
。关于('change',
)正是我所需要的