如何在检查和取消选中时将值分配给html中的复选框?

时间:2014-09-29 11:27:24

标签: javascript jquery html html-form

我的html表单中有一个html复选框。现在,我想在选中时指定1,并在取消选中时指定0。那么,我怎样才能用jquery或java Script做到这一点?

<!DOCTYPE html>
<html>

  <script language="javascript" type="text/javascript">
  <!--
  function greeter() {
      alert(document.getElementById(vehicleChkBox).value);
  }
  $('#vehicleChkBox').change(function(){
       if($(this).attr('checked')){
            $(this).val(1);
       }else{
            $(this).val(0);
       }
  });
  </script>
  <body>
    <form>
      <input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE" />
      <input type="submit" onsubmit="greeter()">
    </form>
  </body>

我试过这个。但是,不起作用。

6 个答案:

答案 0 :(得分:1)

JS:

var checkbox = document.querySelector("input[type='checkbox']");
  checkbox.addEventListener("change",function(){
     this.value = this.checked ? 1 : 0;
  });

jQuery的:

$(":checkbox").change(function(){
     $(this).val($(this).is(":checked") ? 1 : 0);
});

答案 1 :(得分:1)

您可以在change事件中使用JQuery:

$(function() {
  $('#vehicleChkBox').on('change', function(e) {
    e.stopPropagation();
    this.value = this.checked ? 1 : 0;
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="0" />

答案 2 :(得分:0)

你只需要将它的值设为1.这样当它被检查时它将返回1,当它没有被检查时它将不返回任何内容,这样你就可以进行检查并指定零。

<input type="checkbox" name="my_checkbox" value="1" />

答案 3 :(得分:0)

我正在使用这个,这非常正常:

$("#checkkBoxId").attr("checked") ? alert("Checked") : alert("Unchecked");

注意:如果选中该复选框,则返回true,否则为未定义,因此请更好地检查&#34; TRUE&#34;值。

OR

if(!$("#checkkBoxId").is(':checked') ){
 $(this).val('1');
}
else
$(this).val('0');

答案 4 :(得分:0)

这适用于设置值

   $("#checkkBoxId").prop("checked") ? ($("#checkkBoxId").val(1)) :    ($("#checkkBoxId").val(0));

答案 5 :(得分:0)

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script> 
   $(document).ready(function() {
         $('#vehicleChkBox').click(function(){
             if($(this).is(':checked'))
             {              
                  $(this).val('1');
             }
             else
             {
                 $(this).val('0');
             }
         });
    });
</script>