Я чертовски долго пытался получить (как я думал, был) простой индекс из коллекции нескольких ползунков. HTML выглядит следующим образом:
<div id="left-values" class="line">
<span id="l1" style="padding: 0 1.8em;">0</span>
<span id="l2" style="padding: 0 1.8em;">0</span>
<span id="l3" style="padding: 0 1.8em;">0</span>
<span id="l4" style="padding: 0 1.8em;">0</span>
<span id="l5" style="padding: 0 1.8em;">0</span>
<span id="l6" style="padding: 0 1.8em;">0</span>
<span id="l7" style="padding: 0 1.8em;">0</span>
<span id="l8" style="padding: 0 1.8em;">0</span>
</div>
И код jQuery:
// setup audiometry sliders
$("#eq > span").each(function (e) {
// read initial values from markup and remove that
var value = parseInt($(this).text());
// var index = $(this).index; <- this didn't work.
$(this).empty();
$(this).slider({
value: value,
slide: function (event, ui) {
//console.log($(this).attr('id')); <- neither did this.
//console.log(index);
$('#left-values span:first').text(ui.value);
}
})
});
Проблема в том, что пользовательский интерфейс jQuery - при создании слайдера - заменяет существующий HTML своей собственной разметкой. Это включает в себя любые значения идентификатора и, по любой причине, я не могу получить индекс для данного ползунка, чтобы всплыть. Так что у меня заканчиваются идеи.