首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML5 type=range -显示标签

HTML5 type=range -显示标签
EN

Stack Overflow用户
提问于 2013-03-04 13:57:51
回答 5查看 59.4K关注 0票数 20

有没有一种方法可以在HTML5 type=range控件中为每个步骤设置一些标签文本。基本上,我有一个范围控件<input type="range" step=1 min=0 max=4>,对于每个步骤,我希望在控件中显示一些标签。有没有办法做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-06 22:09:14

我为你准备的。

代码语言:javascript
复制
// 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()]);
    });

});
代码语言:javascript
复制
<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" />

票数 26
EN

Stack Overflow用户

发布于 2013-10-15 18:13:34

我想最简单的解决方案(纯Javascript)是:

代码语言: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,应该可以在任何支持范围输入类型的浏览器上运行。

票数 21
EN

Stack Overflow用户

发布于 2013-03-13 10:56:44

没有本机的方法可以做到这点。由于inputtype=range的支持非常差,我将推荐使用jQuery UI滑块和在answer中找到的here附加标签的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15195449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档