【问题标题】:How do i count two values together我如何一起计算两个值
【发布时间】:2017-09-08 21:02:17
【问题描述】:

首先我对 jQuery 很陌生,所以如果这是一个简单的问题,我很抱歉,但我在任何地方都找不到答案。

我有两个来自滑块的值。但是我无法将这两个值一起计算。这是我尝试执行的代码:

<script>    
$(".slider2").slider({
    change: function(event, ui) {
      var prodPrijs = $("#dom_element").text(ui.value);
    }
  });
  $(".slider").slider({
    change: function(event, ui) {
      $("#dom_element2").text(ui.value);
      var bierPrijs = ui.value;
    }
  });

</script>

<script>
    $(".slider2").slider({
    change: function(event, ui) {
      var prodPrijs = $("#dom_element").text(ui.value);

      console.log(prodPrijs + bierPrijs);
    }
  });
</script>

这里是额外信息的滑块:

<script>
   $(function () {
    $(".slider").slider({
        range: "max",
        value: 0.00,
        min: 0.00,
        step: 0.01,
        max: 5.00, 
        create: function () {
            $(this).slider( "option", "value", $(this).next().val() );
        },
        slide: function (event, ui) {
            // ID van slider pakken
            var id = $(this).attr("id");
            //Waarde weergeven van slider
            $("span[class*=" + id + "]").text(ui.value);
            $("input[class*=" + id + "]").val(ui.value);
            var x = ui.value;
        }
    });
});
</script>

<script>
        $(function () {
         $(".slider2").slider({
             range: "max",
             value: 0,
             min: 0,
             step: 1,
             max: 1000,
             create: function () {
                 $(this).slider( "option", "value", $(this).next().val() );
             },
             slide: function (event, ui) {
                 // ID van slider pakken
                 var id = $(this).attr("id");
                 //Waarde weergeven van slider
                 $("span[class*=" + id + "]").text(ui.value);
                 $("input[class*=" + id + "]").val(ui.value);
                 var z = ui.value;
             }
         });
     });
     </script>

感谢您的宝贵时间!

【问题讨论】:

    标签: jquery scope


    【解决方案1】:

    如果您的问题出在这一行:

    console.log(prodPrijs + bierPrijs);
    

    问题是:这两个变量有一个区域范围。为了使它们在外部可见,您可以定义这些全局变量,例如:

    window.prodPrijs  = ....
    

    为了将这两个字符串求和为数字,您需要将它们转换为数字:带加号的前缀:

    console.log(+prodPrijs + +bierPrijs);
    

    由于使用全局变量不是一个好习惯,您可以将每个滑块的值保存为数据属性:

    $(".slider2").data('prodPrijs', ui.value);
    

    当你需要获取值时你可以写:

    $(".slider2").data('prodPrijs')
    

    详情见.data()

    【讨论】:

      【解决方案2】:

      您在块内声明变量,它们在这些块外不可见。

      我建议在 jquery 代码之外创建变量(就像标签中的第一件事一样),更新相关变量,然后显示两者的总和。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-25
        • 2022-10-12
        • 2016-10-14
        • 2017-02-19
        • 1970-01-01
        • 1970-01-01
        • 2013-02-26
        • 1970-01-01
        相关资源
        最近更新 更多