2

我有一个选择标签

<select name="valueAA" id="valueAA">

我使用UI Slider,我需要编写一个函数 onchange of select 标签,但是当它通过滑块更改时,我的函数不起作用。

$("#valueAA").change(function()
        {
            alert("works");// doesn't work
        })

我可以在不更改ui slider脚本的情况下避免这种行为吗?这种行为的解释是什么?

谢谢

更新

脚本看起来像这样

    $(function(){
                $('select#valueAA, select#valueBB').selectToUISlider({
                    labels:6

                });
     });

我必须把这个脚本放在哪里?(我尝试了很多变种:))

$( ".selector" ).bind( "slidechange", function(event, ui) {
  ...
});
4

3 回答 3

2

据我所知,UI Slider 是写在jQuery UI 的 slider之上的。jQuery UI 滑块具有您可以点击、开始滑动更改停止的事件。使用文档中的示例,您可以尝试:

// Bind to the change event by type: slidechange.  
$("#valueAA").bind( "slidechange", function(event, ui) {
  $(this).change();
});

或者,使用您更新的示例,在滑块的选项中提供回调:

$(function(){
            $('select#valueAA, select#valueBB').selectToUISlider({
                labels:6,
                change: function (event, ui) { $(this).change(); }
            });
 });
于 2010-07-21T16:17:41.103 回答
2

我为此苦苦挣扎了一段时间,但发现答案是这样的:

$('.slider').selectToUISlider({ 
    sliderOptions: { 
        change:function() { 
            alert("works");
        } 
    } 
});
于 2011-04-19T14:44:29.683 回答
0

选择是通过控件本身更改的,因此不会触发更改事件。您应该尝试在 ui 滑块上绑定 change 事件,并使用以下代码触发 select 上的 change 事件。

$("#valueAA").trigger("change");
于 2010-07-21T16:16:08.897 回答