web-dev-qa-db-ja.com

jQuery.valは範囲入力で機能しませんか?

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

$('input').val('8,20');で値を変更しようとしても、変更されません...

しかし、非表示の入力では機能します:_<input type="hidden" value="s" />_

16
Alex

HTML5 <input type="range" />は、minmax属性の間の値を1つだけ処理します-例:

<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

1つのUI入力でスライドハンドルに最小値の最大値を設定する場合は、jQueryUIのスライダーを使用できます: https: //jqueryui.com/slider/#range

31
Seybsen

私はフィドルをセットアップしてみましたが、問題なく動作しました。

http://jsfiddle.net/Z2B7Y/

value数値を表し、minmaxの間にあることに注意してください属性。 8,20に設定しようとしても無効です。これは有効な数値ではないため、意味がありません。

浮動小数点値を設定する場合は、ドットを使用する必要があります。

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

代わりに範囲の境界を設定する場合は、プロパティを変更する必要があります。

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

お役に立てれば。