我想个性化select
输入如何显示其选定值。
我的select
有以下选项:
AAA - blabla
BBB - blabla
CCC - blabla
当我选择一个时,我想只显示前三个字母,不包括破折号后面的任何内容。例如,选择"AAA - blabla"将只在选择框中显示"AAA"。
这里有一个关于我想要的jsfiddle的演示,在input
字段中显示我想要的行为来澄清。
<select name="cmbitems" id="cmbitems">
<option value=""></option>
<option value="blue">blue - #0000FF</option>
<option value="green">green - #00FF00</option>
<option value="red">red - #FF0000</option>
</select>
<input type="text" name="txtColor" id="txtColor" onClick="checkColor()">
当前JS:
var select = document.getElementById('cmbitems');
var input = document.getElementById('txtColor');
select.onchange = function() {
input.value = select.value;
}
EDIT1:
我有这个:
function populateList()
{
var select = document.getElementById("cmbitems");
var choice = select.selectedIndex;
var textValue = select.options[choice].text;
select.options[choice].text = textValue.substring(0,3);
}
但是现在,我如何在选择所有列表
据我所知,您需要选定选项的text
不值的前三个字母。
这是JS:
$('#cmbitems option:selected').text().substring(0,3);
,其中.text()
将获得匹配元素集合中每个元素的组合文本内容,包括它们的后代。.substring()
方法从字符串的两个指定索引之间提取字符,并返回新的子字符串。
下面是示例, Alert不作为输入文本。我希望你能自己去做。