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

Javascript 如何在选中或取消选中复选框时更改其值,javascript,jquery,html,Javascript,Jquery,Html,大家好,问题来了。我想根据复选框执行不同的计算 <div> COD: <input type="checkbox" id="trigger" name="question" > </div> 鳕鱼: 下面是计算物品价格的javascript 问题是我不知道如何使用else-if方法 <script> $("#price,#quant,#shipment").keyup(function () { if(+myFuncti

大家好,问题来了。我想根据复选框执行不同的计算

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

鳕鱼:
下面是计算物品价格的javascript 问题是我不知道如何使用else-if方法

<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>

$(“#价格,#数量,#装运”).keyup(函数(){
如果(+myFunction3()==“”)
{
$('#demo').val(0);
}
else if($('#trigger')==“checked”)//这就是问题所在
{
$('#demo').val($('#price').val()*$('#quant').val();
}
其他的
{
$('demo').val($('price').val()*$('quant').val()++myFunction3());
}
});

提前谢谢大家。

你们的脚本应该是这样的:

<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>

$(“#价格,#数量,#装运”).keyup(函数(){
如果(+myFunction3()==“”)
{
$('#demo').val(0);
}
否则如果($('#trigger')。是(':checked'){//这就是问题所在
$('#demo').val($('#price').val()*$('#quant').val();
}
其他的
{
$('demo').val($('price').val()*$('quant').val()++myFunction3());
}
});

使用jQuery,您可以执行以下操作:

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

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

$('#trigger').change(function() {
  ...
})
试试这个:

<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>

$(“#价格,#数量,#装运”).keyup(函数(){
如果(+myFunction3()==“”)
{
$('#demo').val(0);
返回;
}
var isCOD=$(“#触发器”).is(“:选中”);
var val=$('#price').val()*$('#quant').val();
如果(isCOD)
{
val+=myFunction3();
}
$('#demo').val(val);
}
});

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

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

try:-
$(“#trigger”).is(“:checked”)
试试这个$(“#trigger”).is(“:checked”),资源如果上面的方法不起作用,获取状态的详细方式是document.getElementById(“trigger”).checked什么是+myFunction3 this?@AtifTariq它将获取shipping Details的值显示我可以像onkeyup一样吗?因为例如$(“#demo”).val($('#price').val()*$('#quant').val()++myFunction3();是在我检查值是否自动更改时计算出来的。没有更改显示是否可以像onkeyup一样进行显示?因为例如$('#demo').val($('#price').val()*$('#quant').val()*$('#quant').val()++myFunction3());是在我检查值未更改时计算的automatically@Jonas当你勾选框时,你想再次运行计算吗?是的,是的。这就是我需要的。我不知道把它放在哪里:((对不起。我们可以在聊天时讨论吗?“#价格,#数量,#装运”都是输入框吗?如果是,你应该可以更改:$()#keyup(函数(){“到$(“#price,#quant,#shipping,#trigger”)。在脚本标记的第一行中更改(函数(){”)。
else if($('input#trigger[type=checkbox]').is(":checked"))