скажем, у меня есть jQuery UI Slider примерно так:
$(".mySlider").slider({
range: "min",
min: 0,
max: 10,
slide: function(event, ui){
// do stuff here on slide...
}
});
Допустим, у меня есть динамический ввод текста рядом с моим ползунком, чтобы показать значение моего ползунка, например, так:
<input id="slider-value" type="text" value="7" style="text-align: center;">
Таким образом, полный код моего слайдера:
<p>
<div id="slider-value" class="mySlider ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
<input id="slider-value" type="text" value="7" style="text-align: center;">
</p>
Как вы можете видеть, изначально, когда страница загружается, мой слайдер имеет значение 7. Также,входной текст, который показывает значение моего слайдера, имеет тот же идентификатор, что и сам мой слайдер div.Я хочу, чтобы маркер ползунка отображал это значение при загрузке страницы.Если я установлю атрибут значения ползунка равным 7 следующим образом:
$(".mySlider").slider({
range: "min",
min: 0,
max: 10,
value: 7, // value of the slider handle
slide: function(event, ui){
// do stuff here on slide...
}
});
Это прекрасно работает, но, очевидно, это не лучший способ, потому что значение ползунка извлекается из базы данных.и может измениться (это может быть 1, 8, 4, 6 и т. д.).
Теперь, если я попытаюсь сделать что-то вроде:
$(".mySlider").slider({
range: "min",
min: 0,
max: 10,
value: $(this).closest("p").find("input[id=" + $(this).attr("id") + "]").attr("value"), // setting the value of the slider handle dynamically
slide: function(event, ui){
// do stuff here on slide...
}
});
По какой-то причине этоне работает.Дескриптор не показывает значение.Что я делаю не так ?, Это потому, что я не могу использовать $ (this) внутри $ (). Slider ({})?
Пожалуйста, дайте мне знать, почему это не работает
Спасибо