复选框值true / false

时间:2016-05-06 12:55:10

标签: javascript jquery checkbox

我有一个带复选框的表单,我希望在提交表单后返回同一视图并出现错误时对其进行检查。我听说value属性可以帮助我选中复选框,所以我试着把它设置为true / false。无论如何,即使我点击它,输入值也会保持“假”。究竟发生了什么? 单击复选框

后,我认为值为true / false
<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">

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

7 个答案:

答案 0 :(得分:20)

如果我理解了这个问题,您需要更改复选框的值,具体取决于是否选中。

这是一个解决方案:

&#13;
&#13;
$('#checkbox-value').text($('#checkbox1').val());

$("#checkbox1").on('change', function() {
  if ($(this).is(':checked')) {
    $(this).attr('value', 'true');
  } else {
    $(this).attr('value', 'false');
  }
  
  $('#checkbox-value').text($('#checkbox1').val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


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

<div id="checkbox-value"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:5)

使用Checked = true

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

注意:我不清楚是否要在复选框上onclick / onchange事件。问题is(":checked", function(){})是错误的。

答案 2 :(得分:3)

要根据是否选中复选框返回true或false,请在JQuery中使用它

let checkState = $("#checkboxId").is(":checked") ? "true" : "false";

答案 3 :(得分:2)

试试这个

&#13;
&#13;
$("#checkbox1").is(':checked', function(){
  $("#checkbox1").prop('checked', true);
});
      
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="acceptRules" class="inline checkbox" id="checkbox1" value="false">
&#13;
&#13;
&#13;

答案 4 :(得分:1)

JS中的复选框可能非常奇怪。您最好检查是否存在checked属性。 (即使checked设置为“错误”,我的旧版jQuery版本也会返回true。)一旦确定已检查某些内容,您就可以从中获取value属性。

答案 5 :(得分:1)

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

我想你想做这样的事情:

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

答案 6 :(得分:1)

我将根据以下假设发布此答案。 1) You (un)selected the checkbox on the first page and submitted the form. 2) Your building the second form and you setting the value="" true/false depending on if the previous one was checked. 3) You want the checkbox to reflect if it was checked or not before.

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

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