0

我们目前定义了一个 jQuery UI 滑块:

/ Search implementation
$("input#price-range").slider({
  from:1,
  to:200,
  step:5,
  round:0,
  scale:[1, '|', 50, '|', 100, '|', 150, '|', 200],
  dimension:"$",
  skin:"round",
  callback: do_search
});

我要做的是测试移动滑块的效果和回调函数的结果。实时,代码可以工作,但用 Capybara/Cucumber 测试它被证明是困难的。

我努力了

page.execute_script("$('#price-range').slider('value',#{price});")

设置一个值,但回调似乎不是以这种方式调用的。知道如何设置值并在我的黄瓜测试中触发回调吗?

4

1 回答 1

0

我不相信 jQueryUI Slider 实现了“回调”选项。至少,它没有在此处列出:http: //api.jqueryui.com/slider/,并且在此处的代码中不明显: http ://code.google.com/p/jquery-ui/source/browse/tags /1.8.2/ui/jquery.ui.slider.js。我想它可以在继承层次结构中进一步定义。

在滑块的源代码中,您可以看到value方法调用_change,这将触发“更改”事件。因此,如果您像这样传递回调函数,它可能会更好:

/ Search implementation
$("input#price-range").slider({
  from:1,
  to:200,
  step:5,
  round:0,
  scale:[1, '|', 50, '|', 100, '|', 150, '|', 200],
  dimension:"$",
  skin:"round",
  change: do_search
}); 
于 2012-11-27T22:37:12.337 回答