Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 更改最小值后的jQuerty UI范围滑块错误_Jquery Ui_Jquery Ui Draggable_Jquery Ui Slider - Fatal编程技术网

Jquery ui 更改最小值后的jQuerty UI范围滑块错误

Jquery ui 更改最小值后的jQuerty UI范围滑块错误,jquery-ui,jquery-ui-draggable,jquery-ui-slider,Jquery Ui,Jquery Ui Draggable,Jquery Ui Slider,我的页面中有一个滑块,带有以下代码 <div id="sale-price-range" class="price-range" data-min="200000" data-max="2000000" data-unit="R$" data-min-field="precoMinVenda" data-max-field="precoMaxVenda" data-increment="100000"></div> 我的js代码是: // Price Range $

我的页面中有一个滑块,带有以下代码

<div id="sale-price-range" class="price-range" data-min="200000" data-max="2000000" data-unit="R$" data-min-field="precoMinVenda" data-max-field="precoMaxVenda" data-increment="100000"></div>

我的js代码是:

// Price Range
$(".price-range").each(function() {

    var dataMin = $(this).attr('data-min');
    var dataMax = $(this).attr('data-max');
    var dataUnit = $(this).attr('data-unit');
    var minField = $(this).attr('data-min-field');
    var maxField = $(this).attr('data-max-field');
    var increment = $(this).attr('data-increment');

    $(this).append( "<input type='text' class='first-slider-value' name='"+minField+"' val=''/><input type='text' class='second-slider-value' name='"+maxField+"'/>" );

    $(this).slider({
        range: true,
        min: 0,
        max: dataMax,
        step: increment,
        values: [ dataMin, dataMax ],

        slide: function( event, ui ) {
            event = event;
            if(ui.value < dataMin) {
                return false;
            }
            $(this).find( ".first-slider-value" ).val( dataUnit + " " + ui.values[ 0 ].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.") );
            $(this).find( ".second-slider-value" ).val( dataUnit + " " + ui.values[ 1 ].toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.") );
        },
        stop: function(event,ui) {
            if(ui.value >= dataMin) {
                postAjaxSearch();
            }
        }
    });
     $(this).find( ".first-slider-value" ).val( dataUnit + " " + $( this ).slider( "values", 0 ).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.") );
     $(this).find( ".second-slider-value" ).val( dataUnit + " " +  $( this ).slider( "values", 1 ).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.") );
});
//价格范围
$(“.price range”)。每个(函数(){
var dataMin=$(this.attr('data-min');
var dataMax=$(this.attr('data-max');
var dataUnit=$(this.attr('data-unit');
var minField=$(this.attr('data-min-field');
var maxField=$(this.attr('data-max-field');
var increment=$(this.attr('data-increment');
$(此)。追加(“”);
$(此).slider({
范围:对,
分:0,,
马克斯:数据马克斯,
步骤:增量,
值:[dataMin,dataMax],
幻灯片:功能(事件、用户界面){
事件=事件;
if(ui.value=dataMin){
postAjaxSearch();
}
}
});
$(this).find(“.first slider value”).val(dataUnit++$(this).slider(“value”,0).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”);
$(this.find(“.second slider value”).val(dataUnit++$(this.slider)(“value”,1).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”);
});
它运行得很好,但如果我尝试改变 分:0,, 到 min:dataMin

我的滑块停止工作(我不能拖动它)。它继续调用postAjaxSearch();,但它不会更改“最大/最小”值,也不会移动滑块控制柄

为什么我需要将min更改为dataMin? 因为我的滑块从0开始,但滑块控制柄从dataMin移动到dataMax。dataMin和0之间的范围在第页上,但无法移动到第页。我不想这样,滑块应该从dataMin开始


我也遇到了同样的问题,我通过对最小值使用parseInt()解决了这个问题

$("#price-slider").slider({
        range: true,
        min: parseInt(price_min),
        max: price_max,
        values: [price_min, price_max],
        slide: function (event, ui) {
            $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
        }
    });

我不知道为什么会这样,两个极端的工作原理是一样的,这似乎是合乎逻辑的,但它们显然不一样。

我遇到了同样的问题,我通过对最小值使用parseInt()解决了这个问题

$("#price-slider").slider({
        range: true,
        min: parseInt(price_min),
        max: price_max,
        values: [price_min, price_max],
        slide: function (event, ui) {
            $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
        }
    });

我不知道为什么会这样,两个极端都是一样的,这似乎是合乎逻辑的,但显然不是这样。

Dennis,我也用parseInt解决了这个问题,但我忘了在这里发布解决方案。谢谢,你的答案是absolut corret。丹尼斯,我也用parseInt解决了这个问题,但我忘了在这里发布解决方案。谢谢,你的答案是绝对正确的。