在jQuery UI滑块上的create event中不可用的值?

时间:2012-04-30 18:04:22

标签: jquery jquery-ui jquery-ui-slider

$('#foo').slider({
  range: 'min',
  min: 0,
  max: 1000,
  step: 100,
  value: 500,
  create: function( event, ui) {
          var bar = ui.value;
  },
  //etc...
});

为什么bar未定义而不是500?是否可以将变量分配给value事件中的create

3 个答案:

答案 0 :(得分:9)

您也可以使用

create: function( e, ui ) {
    var bar=$(this).slider('value');
}

DEMO.

答案 1 :(得分:1)

我不确定为什么在实例化滑块时需要获取值,因为无论如何都要设置它,但是你可以这样做:

$('#foo').slider({
  range: 'min',
  min: 0,
  max: 1000,
  step: 100,
  value: 500,
  create: function( event, ui) {
          var bar = $('#foo').slider("value");
  },
  //etc...
});​

<强> jsFiddle example

答案 2 :(得分:0)

根据其API文档,用于create方法的ui参数为空,因此未定义var bar = ui.value,以防万一有人怀疑为什么它不起作用。

请参阅reference