我如何统计两个值

时间:2017-09-08 21:02:17

标签: jquery scope

首先我对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>

感谢您的时间真的很感激!

2 个答案:

答案 0 :(得分:1)

如果你的问题在这一行:

console.log(prodPrijs + bierPrijs);
问题是:这两个变量都有一个语言环境范围。为了使它们在外部可见,您可以将这些变量全局定义为:

window.prodPrijs  = ....

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

console.log(+prodPrijs + +bierPrijs);

因为使用全局变量不是一个好的实践,您可以将值保存到每个滑块作为数据属性:

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

当你需要获得值时,你可以写:

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

有关详细信息,请参阅.data()

答案 1 :(得分:0)

您在块内声明了变量,并且在这些块之外不可见。

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