个性化选择表单



我想个性化select输入如何显示其选定值。

我的select有以下选项:

AAA - blabla
BBB - blabla
CCC - blabla

当我选择一个时,我想只显示前三个字母,不包括破折号后面的任何内容。例如,选择"AAA - blabla"将只在选择框中显示"AAA"。

这里有一个关于我想要的jsfiddle的演示,在input字段中显示我想要的行为来澄清。

http://jsfiddle.net/LXkkB/1/

<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不作为输入文本。我希望你能自己去做。

最新更新