javascript - 输入 type=number 但添加字母后缀

标签 javascript css html

我有 <input type="number"></input> .我喜欢它有 type="number" 的事实因为我想要用户输入数字。我宁愿不改变它的类型而不是数字。但是,我想在数字后显示单位。所以如果单位是像素,我希望输入读取“5 px”。我希望用户能够编辑 5 部分,但不能编辑 px 部分。找到的解决方案here除非我做更多的噱头并让它更黑客,否则将无法工作,因为“px”将出现在 chrome 的向上/向下箭头之后。这些就是我所说的箭头![箭头示例][1]

在我的 chrome 环境中,您可以将字母字符放在 <input ...> 中。 , 但这是 technically not legal

我需要一个适用于 firefox、chrome、safari 和 IE9 的解决方案。

最佳答案

您可以使用以下代码实现此目的: HTML:

 <div class="size-input-wrapper">
    <label for="inputValidation">Enter size:</label>
    <input type="number" id="inputValidation" placeholder="size"/>
    <span class="pxSpan">px</span>
 </div>

CSS:

.size-input-wrapper {
    max-width: 208px;
    margin: auto;
    position: relative;
    display: inline-block;
}
#inputValidation {
    padding-right: 35px;
}
.pxSpan {
    position: absolute;
    top: 19px;
    right: 10px;
}

FIDDLE HERE

或者,您可以使用 Bootstrap 来更轻松地实现。检查这个FIDDLE

关于javascript - 输入 type=number 但添加字母后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793482/

相关文章:

javascript - 等待多个条件中的异步函数

javascript - 创建纯 css javascript 库/包的最佳实践是什么

javascript - 如何让我的底部导航栏粘在我的顶部导航栏上?

html - 将 SVG 置于网格单元的中心

html - 在我的导航 div 中嵌套一个无序列表

html - 删除嵌套表之间的空间

javascript - Node.JS mysql 填充类

javascript - 原型(prototype)链,调用父方法的行为就像父构造函数从未运行过一样

javascript - Css 滚动条自动滚动添加内容

html - 如何使用css3获取相邻div的宽度