jQuery UI Slider值的变化

时间:2012-03-06 20:48:07

标签: jquery jquery-ui

以下是我要解决的问题。实际上,我希望能够在使用jQuery滑块ui时选中复选框时更新输入值。因此,每个复选框对应一个不同的值。选中复选框后,该值应该相乘。

它有效,但问题是,它不会与发生更多滑动时检查的数字相乘。它可以追溯到原始值。

我在这里做错了什么?

HTML

<input class="checkbox" type="checkbox">0.10
<input class="checkbox" type="checkbox">0.25
<input class="checkbox" type="checkbox">0.5
<input class="checkbox" type="checkbox">0.75
<input class="checkbox" type="checkbox">1.00

<div class="increasedRevenue"><input id="increasedRevenueValue" value="0"></div>

的jQuery

$('input:checkbox').click(function() {
    $(this).siblings('input:checkbox').removeAttr('checked');
});

    $( "#slider" ).slider({
        min: 100000,
        max: 5000000,
        step: 100000,
        slide: function( event, ui ) {
            $("#increasedRevenueValue").val(ui.value );

                $('input:checkbox').click(function() {

                    if($(this).is(":first-child")) {
                        $("#increasedRevenueValue").val($("#slider").slider("value") * 10);                     
                    }
            });

        }
    });

1 个答案:

答案 0 :(得分:0)

这里有很多问题。

首先,您的复选框中没有设置值。没有一个值你怎么能告诉滑块使用多少多个。通过仅使用第一个复选框的复选框位置,您使用的唯一值是10。

接下来,您的step永远不会改变。为了得到一个乘数,这需要改变,并被绑定到任何一个盒子。

接下来,您的复选框click处理程序不应位于幻灯片事件中。 slide正在为您移动滑块的每个像素的复选框添加一个新的点击处理程序。

以下是您的代码的jsfiddle,唯一不同的是步骤是一个更容易看到更改的步骤。看看你能做些什么来解决我提到的一些问题,然后更新小提琴并点击update按钮以便在你尽可能的时候保存新版本

相关问题