Элемент ввода диапазона: есть ли способ динамического изменения минимального значения?

#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:

 $("#mySlider").attr("min",12);
  

должно сработать.

http://jsfiddle.net/SNuK6/

Ответ №3:

Как насчет прямого доступа к атрибуту?

 $("#mySlider").attr("min", 4);
  

См . http://api.jquery.com/attr /