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。これにより、'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 に答える