Как добавить несколько дескрипторов к слайдеру jQuery на лету

Я хочу сделать это :

  1. Добавить дескриптор к слайдеру jQuery для какого-либо события
  2. У этого дескриптора должен быть идентификатор, чтобы при его перемещении я мог получить доступ к его значению. Есть идеи, как это сделать? Вот код в JSfiddle, в котором реализован слайдер с двумя ручками. Все, что мне нужно сделать, это добавить дескрипторы на лету по какому-либо инициированному событию и получить значения каждого дескриптора для дальнейшего использования.

person GILL    schedule 06.03.2012    source источник
comment
Разместите свой код. Непонятно, что у вас сейчас и о чем вы спрашиваете.   -  person Brad    schedule 07.03.2012


Ответы (1)


Я не вижу возможности согласно документации на http://jqueryui.com/demos/slider/. Вы можете уничтожить и воссоздать ползунок при добавлении или удалении значения. Это требует, чтобы вы сохранили все текущие значения существующих дескрипторов. Не очень элегантное решение, но это единственное, что я вижу в настоящее время, помимо обновления библиотеки jquery ui.

Я обновил вашу скрипку простым примером: http://jsfiddle.net/FPCRb/4/

person T. Junghans    schedule 07.03.2012
comment
Я вижу упомянутую выше скрипку. Однако можете ли вы предложить любую библиотеку со встроенной функцией, которая выполняет то, что мы пытаемся сделать? Ну, если быть точным; Я пытаюсь связать эти несколько дескрипторов с разными переменными для дальнейшего использования. - person GILL; 07.03.2012
comment
Я не уверен, что я полностью понимаю, но вы хотите иметь возможность получать значения данного дескриптора в любое время? Для этого вы можете использовать индекс. Я обновил скрипт jsfiddle.net/FPCRb/10 и добавил переменную (массив) ** currentValues ​​**, в котором хранятся текущие значения. Вы можете связать переменные с элементами в currentValues ​​. Я подхожу ближе? - person T. Junghans; 08.03.2012
comment
Мне удалось получить значения разных дескрипторов, но мне нужно выполнить какое-то действие, щелкнув конкретный дескриптор, и выполнить какое-то другое действие, щелкнув другой дескриптор. Как это сделать ? - person GILL; 18.03.2012
comment
@GILL Пользовательский интерфейс jQuery не предоставляет обработчиков кликов, поэтому я создал свой собственный, который вы можете увидеть на jsfiddle.net/FPCRb / 25: $slider.delegate('a.ui-slider-handle', 'click', function () { alert('Handle with index ' + $(this).index() + ' and value ' + currentValues[$(this).index()]); }); - person T. Junghans; 18.03.2012
comment
Отлично ..... гениально .... Пожалуйста, объясните, почему вы используете a.ui-slider-handle, а вместо этого используете 'a'. Почему бы не использовать идентификатор класса кратко? - person GILL; 18.03.2012
comment
@GILL Я делаю это из соображений производительности. См. stackoverflow.com/questions/ 46214 / - person T. Junghans; 18.03.2012
comment
Я хочу сделать это: 1. настроить форму конкретной ручки; 2. придать каждой ручке свой цвет; - person GILL; 21.03.2012
comment
jqueryui.com/themeroller предоставляет заранее заданную цветовую схему. Но я хочу изменить цвет дескриптора на лету (возможно, для этого понадобится дескриптор DOM для определенного дескриптора ползунка) - person GILL; 21.03.2012
comment
@GILL: Оцените это: jsfiddle.net/FPCRb/39. Я установил разные цвета фона для ручек. - person T. Junghans; 22.03.2012