我正在尝试为视图表单实现一个滑块(我已经隐藏了文本字段,并希望创建一个脚本来显示滑块,并在“更改/停止”中将值设置为“隐藏文本”字段。我的问题是,这些事件根本没有发生。我在模板的template.php中添加了jquery库和脚本(使用ZEN ):
function ThemeName_preprocess_page(&$variables) {
drupal_add_library('system', 'ui');
drupal_add_library('system', 'ui.slider');
drupal_add_js('URL/js/search.js');
}这是javascript/jquery代码:
(function ($, Drupal, window, document, undefined) {
Drupal.behaviors.customSearch = {
attach: function(context, settings) {
$(document).ready(function (){
$("#distanta_slider").slider({
orientation: "horizontal",
range: "min",
max: 150,
min: 1,
value: 1,
//change: slider_change(),
//slide: slider_change(),
//stop: slider_change()
});
$("#distanta_slider").on("slidestop",slider_change());
$("#distanta_slider").on("slide",slider_change());
$("#distanta_slider").on("slidechange",slider_change());
});
function slider_change(){
alert($("#distanta_slider").slider("value"));
}
}
};
})(jQuery, Drupal, this, this.document);我尝试使用$(selector).on绑定事件,并尝试在构造函数(3行注释行)中声明它们。在第一个场景中,在页面加载时,我收到了3个带有当前值的警报,在第二个场景中,我收到了3个通知,上面写着" Object“,但在这两个场景中,如果我移动滑块,绝对不会发生任何事情.没有错误什么都没有。
任何帮助都是非常感谢的。提前谢谢你,
克里斯蒂
发布于 2014-08-07 11:05:47
在on语句中调用不带参数的函数名。
$("#distanta_slider").on("slidestop",slider_change);
$("#distanta_slider").on("slide",slider_change);
$("#distanta_slider").on("slidechange",slider_change);错误假设
$("#distanta_slider").on("slidestop",slider_change());函数slider_change在这里立即执行。
https://stackoverflow.com/questions/25180768
复制相似问题