我有html-select
在运行时填充
即,当我在html输入文本框中输入内容时,我会在下面附加的html-dropdown-listbox
中显示基于子字符串的结果。
现在我只想强调html下拉列表框中与html输入文本框中的字符串匹配的项目的子字符串。
e.g。
如果我在html输入文本框中键入“ample”,那么它应该突出显示“ample”
<OPTION value=723.1> S*ample* Text </OPTION>
我已经尝试修改该html-dropdown-listbox的innerHTML属性。 我想用javascript做。
答案 0 :(得分:3)
您无法设置SELECT的内部元素的样式。它由操作系统呈现,而不是HTML。
答案 1 :(得分:0)
尝试这种方法
<p id="textindrop">this is the text in the dropbox</p>
<a href="#" onClick="highlightsubstring('textindrop'); return false;">tohighlight</a>
<script type="text/javascript">
function highlightsubstring(el) {
var theText = document.getElementById(el).innerHTML;
theText = theText.replace(/(web)/gi, "<b>$1</b>");
document.getElementById(el).innerHTML = theText;
}
</script>
尝试这个并看到这对你有所帮助,也提出了你的一些逻辑。你也可以使用正则表达式。阅读javascript中的正则表达式
答案 2 :(得分:0)
有一种CSS3方式:
font-family: monospace
获取相等宽度的字符。background-image
获取可调背景。background-position
在ch
中设置突出显示背景的起始位置。background-size
设置ch
中突出显示背景的长度。限制:
select
中的突出显示也需要额外调整。 (我用text-indent
做了,鼓励找到更好的解决方案。)我在jsFiddle上放了一个simple demo。