у меня есть тег выбора
<select name="valueAA" id="valueAA">
я использую UI Slider, и мне нужно написать функцию при изменении тега 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) {
...
});
Ответ 1 · рейтинг 2 · Andy E
Насколько я вижу, слайдер пользовательского интерфейса написан поверх ползунка пользовательского интерфейса jQuery. Ползунок пользовательского интерфейса jQuery содержит события, которые вы можете использовать: начать, сдвинуть, изменить и остановить. Используя пример из документов, вы можете попробовать:
// 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(); }
});
});
Ответ 2 · рейтинг 2 · 472084
Я боролся с этим некоторое время, но нашел ответ следующим образом:
$('.slider').selectToUISlider({
sliderOptions: {
change:function() {
alert("works");
}
}
});
Ответ 3 · Fabian
Выбор изменяется через сам элемент управления, поэтому событие изменения не запускается. Вы должны попытаться связать событие изменения на ползунке пользовательского интерфейса и использовать следующий код, чтобы вызвать событие изменения при выборе.
$("#valueAA").trigger("change");