我正在尝试根据它的当前值自定义<input>
元素的颜色。
到目前为止,我已尝试过基于此question或此post的解决方案,但即使对于简单条件(例如“1&lt; 2”)也无法使其工作,等等甚至更少基于输入的值(例如“值<2”)。
以下是jsFiddle说明问题,以及我的尝试如下:
<p>
Simple coloring
<input autocomplete="off" id="spinner-twenty" style="background-color:red" class="spinner-twenty" name="spinner" value="0.1">
</p>
<p>
Conditional coloring based on style condition
<input autocomplete="off" id="spinner-twenty" style="${1} < 2 ? 'background-color:red' : 'background-color:white'" class="spinner-twenty" name="spinner" value="0.1">
</p>
<p>
Conditional coloring based on background-color condition
<input autocomplete="off" id="spinner-twenty" style="background-color:{!IF(1 < 4,'#7CFC00', '#FFA07A')}" class="spinner-twenty" name="spinner" value="0.1">
</p>
Conditional coloring based on background-color condition (based on inputs "value")
<input autocomplete="off" id="spinner-twenty" style="background-color:{!IF(value < 4,'#7CFC00', '#FFA07A')}" class="spinner-twenty" name="spinner" value="0.1">
</p>
答案 0 :(得分:1)
您链接的资源正在描述服务器端逻辑(两种不同的类型,您似乎都没有使用它们)。它们确定在离开服务器之前应该输出什么HTML。
浏览器不支持样式属性中的逻辑。
要实现这一目标,您需要编写一些JavaScript。您可以将事件侦听器绑定到存在输入事件时触发的元素,读取元素的value
属性,然后设置{{1属性。
答案 1 :(得分:1)