有没有一种方法可以在HTML5 type=range控件中为每个步骤设置一些标签文本。基本上,我有一个范围控件<input type="range" step=1 min=0 max=4>
,对于每个步骤,我希望在控件中显示一些标签。有没有办法做到这一点?
发布于 2013-03-06 22:09:14
我为你准备的。
// define a lookup for what text should be displayed for each value in your range
var rangeValues =
{
"1": "You've selected option 1!",
"2": "...and now option 2!",
"3": "...stackoverflow rocks for 3!",
"4": "...and a custom label 4!"
};
$(function () {
// on page load, set the text of the label based the value of the range
$('#rangeText').text(rangeValues[$('#rangeInput').val()]);
// setup an event handler to set the text when the range value is dragged (see event for input) or changed (see event for change)
$('#rangeInput').on('input change', function () {
$('#rangeText').text(rangeValues[$(this).val()]);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="range" id="rangeInput" name="rangeInput" step="1" min="1" max="4">
<label id="rangeText" />
发布于 2013-10-15 18:13:34
我想最简单的解决方案(纯Javascript)是:
<fieldset>
<label for="rangeVal">resolution (dpi):</label>
<input type ="range" max="1000" min="20"
oninput="document.getElementById('rangeValLabel').innerHTML = this.value;"
step="1" name="rangeVal" id="rangeVal" value="200">
</input>
<em id="rangeValLabel" style="font-style: normal;"></em>
</fieldset>
这段代码既不需要jQuery,也不需要CSS,应该可以在任何支持范围输入类型的浏览器上运行。
发布于 2013-03-13 10:56:44
没有本机的方法可以做到这点。由于inputtype=range的支持非常差,我将推荐使用jQuery UI滑块和在answer中找到的here附加标签的方式。
https://stackoverflow.com/questions/15195449
复制相似问题