在jQuery问题中舍入数字

时间:2015-11-14 16:23:26

标签: javascript jquery rounding

无法理解为什么此代码在滑动时不会在Block 1/2/3中舍入值。 Here is the link for this example.

$(function () {
    $("#slider-range-min").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 1000,
        slide: function (event, ui) {
            $("#amount").val(ui.value + ",000" + " руб.");

            $('.number').each(function () {
                var curval = $(this).data('summary');
                var newval = parseInt($(this).val(curval - ui.value * 0.08))

                if (!curval >= $(this).val()) {
                    $(this).val('It is free now')
                }
            });
        }
    });

1 个答案:

答案 0 :(得分:3)

我认为你在这段代码中试图做太多:

var newval = parseInt($(this).val(curval - ui.value * 0.08))

此部分更改了值,但它没有进行任何舍入:

$(this).val(curval - ui.value * 0.08)

它返回一个jQuery对象,然后使用parseInt()调用该对象,导致newvalNaN

请改为:

var newval = parseInt(curval - ui.value * 0.08);
$(this).val(newval);

Updated CodePen