如何在选中或取消选中时更改复选框的值

时间:2016-02-08 16:13:52

标签: javascript jquery html

大家好,这里有问题。我想基于复选框执行不同的计算。

<div>
 COD: <input type="checkbox" id="trigger" name="question" >
</div>

这是用于计算商品价格的JavaScript 问题是我不知道如果方法

我该怎么办呢
<script>
    $("#price,#quant,#shipment").keyup(function () {
      if(+myFunction3() =="" )
      {
        $('#demo').val(0);
      }
      else if($('#trigger')=="checked") //this is the problem
      {
        $('#demo').val($('#price').val() * $('#quant').val() ;
      }
      else
      {
      $('#demo').val($('#price').val() * $('#quant').val() + +myFunction3());
     }
  });
  </script>

预先谢谢你们。

4 个答案:

答案 0 :(得分:2)

使用jQuery,你可以这样做:

else if($('#trigger:checked').length > 0)

else if($('#trigger').is(':checked'))

如果要在用户选中或取消选中该复选框时重新运行计算,则可以运行与在keyup函数上运行的代码相同的代码:

$('#trigger').change(function() {
  ...
})

答案 1 :(得分:0)

你的脚本应该是这样的:

<script>
    $("#price, #quant, #shipment").keyup(function () {
      if(+myFunction3() =="" )
      {
        $('#demo').val(0);
      }
      else if ($('#trigger').is(':checked')) { //this is the problem

        $('#demo').val($('#price').val() * $('#quant').val() ;
      }
      else
      {
      $('#demo').val($('#price').val() * $('#quant').val() + +myFunction3());
     }
  });
  </script>

答案 2 :(得分:0)

试试这个:

<script>
    $("#price,#quant,#shipment").keyup(function () {
      if(+myFunction3() =="" )
      {
        $('#demo').val(0);
        return;
      }

      var isCOD = $('#trigger').is(':checked');
      var val = $('#price').val() * $('#quant').val();

      if (isCOD) 
      {
         val += myFunction3();
      }

      $('#demo').val(val);
     }
  });
  </script>

答案 3 :(得分:0)

如果出现以下情况,请在其他情况下尝试此条件:

else if($('input#trigger[type=checkbox]').is(":checked"))