#jquery #html #range
#jquery #HTML #диапазон
Вопрос:
Я работаю над страницей, используя только html5 и jquery, и у меня есть ввод диапазона следующим образом:
<input id="mySlider" type="range" class="test" min="2" max="32" step="2" value="10" />
Есть ли какой-либо способ динамически изменять минимальное значение этого ввода? Я пробовал ссылаться / настраивать с помощью getElementById и пытался получить доступ к атрибуту min (так же, как вы могли бы сделать для .value), но, похоже, это не работает. Спасибо!
Ответ №1:
Я успешно изменил значение многими способами, в том числе:
document.getElementById('mySlider').min = 5; // Example: min value of 5
$('#mySlider').prop('min', 5); //jQuery method
Убедитесь, что вы написали document.getElementById
правильно, используя нижний регистр d
.
Попробуйте эту скрипку: http://jsfiddle.net/8W7FF /
Комментарии:
1. 1 за использование правильного метода
.prop
вместо приемлемого, но такого неправильного и запутанного.attr
2. Хм; у меня это не работает: в моем коде у меня есть: alert(document.getElementById(‘mySlider’).value); alert(document.getElementById(‘mySlider’).min); и первое предупреждение равно 10, а второе не определено?
3. @user201926 Используй скрипку. Дает ли это правильные результаты? Если да, проблема вызвана чем-то другим в вашем коде. Какой браузер вы используете?
4. Я не вижу ползунка на скрипке?
5. Да, именно так. Ну, вы ответили на поставленный вопрос, так что, я думаю, мы можем назвать это дело закрытым. Спасибо!
Ответ №2:
Ответ №3:
Как насчет прямого доступа к атрибуту?
$("#mySlider").attr("min", 4);