2013-03-14 60 views
1
$("#slider1").slider({ 
    min: 1940, 
    max: 2013, 
    values: [1990, 2013], 
    range: true, 
    slide: function (event, ui) { 
     var val = ui.values; 
     $('#from1').text(val[0]); 
     $('#to1').text(val[1]); 
     $('#i_from1').val(val[0]); 
     $('#i_to1').val(val[1]); 
    }, 
    create: function (event, ui) { 
     alert(ui.values); 
    } 
}); 

當我提出警告,我得到了一個未定義的值,這是爲什麼?我需要這些值設定爲對某些HTML元素創建create處理JQuery的滑塊設置值上創建

+0

看看[** documentation **](http://api.jqueryui.com/slider/)後,它看起來像對象'ui'有屬性「值」和「值」,但不是「val」。另外,如果你使用「多滑塊」,問題是「值」是否被填充,因爲你有多個。 – 2013-03-14 07:33:21

+0

我試過ui.values,但也未定義 – Hello 2013-03-14 07:35:27

+0

好吧,用'console.dir(ui)'代替'alert'顯示對象沒有任何屬性。然後,文檔中的參數描述也很有意義(http://api.jqueryui.com/slider/#event-create),它沒有列出任何屬性(我認爲它可能是一個錯誤)。所以答案是:你不能以這種方式訪問​​'create'事件處理程序中的值。由於您明確設置了初始值('values:[1990,2013]'),您無需動態檢索它們。你*知道*這些值將會是'1990'和'2013'。 – 2013-03-14 07:40:24

回答

2

不幸的是,ui參數沒有value屬性。你可以用這個代替:

create: function (event, ui) { 
    alert($(this).slider("values")); 
}