2012-06-06 55 views
10

<input type="range" value="5,17" />jQuery.val不适用于范围输入?

如果我尝试改变与$('input').val('8,20');值不会改变......

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

回答

26

的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 

处理分钟在一个用户界面,输入你可以一个最大值可能使用jQueryUI的滑块:https://jqueryui.com/slider/#range

+1

我还建议jQueryUI的滑块更好的浏览器兼容性。 –

3

我试图建立一个小提琴和它的工作不问题。

http://jsfiddle.net/Z2B7Y/

请记住,value代表数值,这就是minmax属性之间。试图将其设置为8,20这是无效的,因为它不是一个有效的数字,因此没有意义。

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

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

如果您想要设置范围的范围,您必须更改属性,例如,

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

希望这会有所帮助。

+0

是的,实际上我使用这个插件:https://github.com/tommoor/tinyrange-jquery-plugin。但我想将滑块的值设置为输入... – Alex

+0

你能举一个你想要做什么的例子吗?因为正如你可以在小提琴中看到的那样,你绝对可以改变“输入”的'价值';只要确保正确传递浮点值。 –

相关问题