html - 将文本附加到输入字段而不更改其值?
问题描述
我有一个类型为“数字”的输入字段,但我想在该输入字段值内附加文本“天”而不更改从中产生的实际值。
<input type="number" class="days" (keyup)="valueChanged($event)"/>
如果用户更改值,他们应该只能更改数值并且附加的“天”只是该字段的视觉插件。
有没有办法在 CSS 或 TypeScript/JS 中做到这一点?
解决方案
与其将单元插入输入,为什么不为这些场景使用特定样式的输入,您可以在其中附加或预先添加任何单元。就像是:
.unit-input {
border: #DFDFDF solid 1px;
display: inline-flex;
border-radius: 4px;
overflow: hidden;
font-family: sans-serif;
width: 10em;
}
.unit-input__input {
border: 0;
padding: .5em;
font-size: 1em;
width: 100%;
}
.unit-input__input:focus {
background: #EDFFFB;
outline: none;
}
.unit-input__prepend,
.unit-input__append {
background: #F4F4F4;
padding: .5em;
border: #DFDFDF solid 0;
flex-grow: 0;
}
.unit-input__prepend {
border-right-width: 1px;
}
.unit-input__append {
border-left-width: 1px;
}
<p>
<span class="unit-input">
<input class="unit-input__input" type="number">
<span class="unit-input__append">days</span>
</span>
</p>
<p>
<span class="unit-input">
<span class="unit-input__prepend">$</span>
<input class="unit-input__input" type="number">
</span>
</p>
<p>
<span class="unit-input">
<input class="unit-input__input" type="number">
<span class="unit-input__append">kg</span>
</span>
</p>
推荐阅读
- serialization - 如何序列化不可变结构
- spring-boot - 拦截骆驼@Consume
- django - 如何在 django 表单中抛出一条消息,它不会更改 UpdateView 中表单中的数据
- html - 如何调整文本的宽度并将其放在帖子(视觉)编辑器的中心?
- javascript - 如何使用javascript从json表中按键过滤数组
- sql - 更新查询的执行时间过长
- php - 忽略多个搜索请求中的重音
- python - 如何模拟点击元素?
- asp.net-core - 从 HttpContext 中提取自定义对象
- kubernetes - 每当 pod 被调度或未调度时,如何在 kubernetes 节点(不在容器内)上运行操作?