2015-10-09 82 views
0

小步我有範圍滑塊我過濾:jQuery UI的滑塊:大範圍

var start_value_emp = Math.floor(getUrlParameter("emp_from")) ? getUrlParameter("emp_from") : 0; 
var end_value_emp = Math.floor(getUrlParameter("emp_to")) ? getUrlParameter("emp_to") : 1001; 

jQuery(".slider_employees_main").slider({ 
    range: true, 
    min: 0, 
    max: 1001, 
    step: 1, 
    values: [start_value_emp, end_value_emp], 
    slide: function (event, ui) { 

     var currEmpValueStartSlide = ui.values[0] > 0 ? ui.values[0] : '...'; 
     var currEmpValueEndSlide = ui.values[1] < 1001 ? ui.values[1] : '...'; 

     jQuery(".employee_select_info_main_from").html(currEmpValueStartSlide); 
     jQuery(".employee_select_info_main_to").html(currEmpValueEndSlide); 

     jQuery(".emp_from_main").val(ui.values[0]); 
     jQuery(".emp_to_main").val(ui.values[1]); 

     $(".slider_employees_main").slider("values", ui.values); 
    } 
}); 

我設置滑塊步驟1,但是當我將滑塊,步驟是3,4或5但不是1,因爲它應該是,也許是由於大規模(0 - 1001)?任何想法如何設置step stick爲1?

+0

這裏幹嘛變量值'值:[start_value_emp,end_value_emp]' – guramidev

+0

@GuramiDagundaridze如果過濾器已submited,啓動值來自解析查詢參數,否則設置默認(0-1001),我已經用這些變量更新了原始問題 – DeividasJJ

回答

0

我認爲這個問題是在這裏:

var currEmpValueStartSlide = ui.values[0] > 0 ? ui.values[0] : '...'; 
var currEmpValueEndSlide = ui.values[1] < 1001 ? ui.values[1] : '...'; 

因爲Java腳本的pass by reference風格分配變量您jQuery(".employee_select_info_main_from")jQuery(".employee_select_info_main_to")粘有ui.values[0]ui.values[1],使ui.value[0]等於3時jQuery(".employee_select_info_main_from").html()等於...。儘量避免這樣的參考:

function copy(value) { 
    return JSON.parse(JSON.stringify(value)); 
} 

var currEmpValueStartSlide = ui.values[0] > 0 ? copy(ui.values[0]) : '...'; 
var currEmpValueEndSlide = ui.values[1] < 1001 ? copy(ui.values[1]) : '...'; 
+0

問題依然存在。 – DeividasJJ