我想个性化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);
}
但是现在,当我选择所有列表
时,如何重新显示我之前的值答案 0 :(得分:0)
据我了解,您希望所选选项的前三个字母text
没有价值。
以下是JS:
$('#cmbitems option:selected').text().substring(0,3);
其中.text()
将获取匹配元素集合中每个元素的组合文本内容,包括它们的后代。
.substring()
方法从两个指定索引之间的字符串中提取字符,并返回新的子字符串。
以下是 Example ,警报不作为输入文字。我希望你自己能做到。