2013-03-14 59 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")); 
}