jQuery.val没有处理范围输入?

时间:2012-06-06 20:05:30

标签: jquery input range

<input type="range" value="5,17" />

如果我尝试使用$('input').val('8,20');更改值,则不会更改...

但隐藏输入的工作原理: <input type="hidden" value="s" />

2 个答案:

答案 0 :(得分:29)

HTML5 <input type="range" />仅处理minmax属性之间的一个值 - 例如:

<input type="range" min="1" max="10" value="5.3" step="0.1" />

$("input[type=range]").val(); // returns 5.3
$("input[type=range]").val(6); // sets value to 6
$("input[type=range]").val(); // returns 6

如果您希望在一个UI输入中使用幻灯片处理最小最大值,您可以使用jQueryUI的滑块:https://jqueryui.com/slider/#range

答案 1 :(得分:3)

我尝试设置一个小提琴,它没有问题。

http://jsfiddle.net/Z2B7Y/

请注意,value表示数值,它位于minmax属性之间。试图将其设置为8,20它无效,因为它不是有效数字,因此没有意义。

如果要设置浮点值,则必须使用点,例如

$('input').val('8.20');

如果要设置范围的边界,则必须更改属性,例如

$('input').prop('min','8');
$('input').prop('max','20');

希望这有帮助。