如果另一个函数处于活动状态,并且仅激活某些复选框-JQuery,则启动功能



i具有一个我只想在先前激活另一个函数时才启动的函数。

我有一些复选框,我需要总结其值才能获得总计。

仅当用户选择了一些复选框时,才必须用折扣激活另一个复选框。我希望折扣复选框在第一次选择后被激活,因为,如果我不这样做,我可能会有负价。

然后(如果可能的话(我希望折扣复选框被停用是用户取消选择所有以前的复选框。

这是可能的吗?

这是我的脚本。我在javascript/jquery中非常新,所以这可能是一个愚蠢的问题。

谢谢

$(document).on('change', getCheck);
  
  function getCheck() {
    var total= 0;
    $('[type="checkbox"]:checked').not("#discount").each(function(i, el) {
    //console.log($(this).not("#off").val());
    var SumVehicle = parseFloat($(el).val());
    total += SumVehicle;
    //console.log(total);
    //console.log(price_tot);
    $('#rata').text(total  +" €");
     var finalprice = total;
     //var Check = getCheck();
         
        if(typeof(total) != "undefined" && total !== 0) {
          $('[type="checkbox"]:checked').not(".sum").each(function(i, el) {
          var Discount = parseFloat($(this).val());
          finalprice = finalprice - Discount;
          console.log(finalprice);
          $('#rata').text(finalprice  +" €");
          });
        };
      });
    };
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="sum" type="checkbox" name="vehicle1" value="1000"> I have a bike<br>
<input class="sum" type="checkbox" name="vehicle2" value="2000"> I have a car<br>
<br><br><br>
<input id="discount" type="checkbox" name="discount" value="200"> Discount<br>
<div id="rata">rata</div>

用此代码替换JS代码。错误将解决。

$( document ).ready(function() {
  $("input[type='checkbox']").on('change', getCheck);
  });
  function getCheck() {
    var total= 0;
    $('[type="checkbox"]:checked').not("#discount").each(function(i, el) {
    console.log($(this).not("#off").val());
    var SumVehicle = parseFloat($(el).val());
    total += SumVehicle;
    console.log(total);
    //console.log(price_tot);
    $('#rata').html(total  +" €");
     var finalprice = total;
     var Check = function getCheck(){
        if(typeof(Check) != "undefined" && Check !== null) {
          $("#discount").toggle(); 
          var Discount = parseFloat($(this).val());
          finalprice -= Discount;
          console.log(finalprice);
          $('#rata').text(finalprice  +" €");
        };
      };
    });
  };

最新更新