多个选定的onkeydown选择框javascript

多个选定的onkeydown选择框javascript,javascript,coldfusion,Javascript,Coldfusion,我有一个用于在多个selectbox中搜索的输入字段,我希望当我使用逗号(,)作为分隔符搜索多个值时,选择多个selectbox的索引。像这样 我尝试过这个代码,但不起作用 搜索输入 <input id="idSearch" name="txtSearch" size="50" onkeydown="cekKey(event,document.frmAdd.selNonMember,document.frmAdd.selMember);" type="Text"> 左选择框 &

我有一个用于在多个selectbox中搜索的输入字段,我希望当我使用逗号(,)作为分隔符搜索多个值时,选择多个selectbox的索引。像这样

我尝试过这个代码,但不起作用

搜索输入

<input id="idSearch" name="txtSearch" size="50" onkeydown="cekKey(event,document.frmAdd.selNonMember,document.frmAdd.selMember);" type="Text">

左选择框

<select name="selNonMember" multiple size="8" style="width:100%">
    <cfloop query="QEmp">
        <option value="#QEmp.Emp_id#"> #HtmlEditFormat(QEmp.Text)# </option>
    </cfloop>
</select>

#HtmlEditFormat(QEmp.Text)#
切基()

函数cekKey(事件、对象源、对象目标)
{
如果(event.keyCode==13){
addSelEmp()
event.returnValue=false;
document.frmAdd.txtSearch.value=“”
}否则{
event.returnValue=true;
}
}
函数addSelEmp(){
var searchKey=document.frmAdd.txtSearch.value;
var objSource=document.frmAdd.selnomber;
var objTarget=document.frmAdd.selMember;
//var vari1=document.frm.txtSearchEmp.value;
searchKey=searchKey.toUpperCase()
对于(i=objSource.length-1;i>=0;i--){
var vari2=objSource.options[i].text;
vari2=vari2.toUpperCase();
如果(变量2.indexOf(搜索键)>=0){
//objTarget.options[objTarget.length]=新选项(变量2,objSource.options[i].value);
objSource.options[i].selected=true;
}
}
}

嘿,我以前用过这个插件,但现在用的是Select2。它具有更好的回退支持,并且更易于定制。术语
不工作
太模糊了。请详细说明。@DanBracuk当用户输入超过1个值时,该值未被选中,在这种情况下,当我键入2016095001020160160950020时,选项未被选中,与上图不同。但当用户仅输入1个值(如20160950010)时,选项被选中。这让我很沮丧
function cekKey(event,objSource,objTarget)
    {
        <!--- tekan enter --->
        if (event.keyCode == 13) {
            addSelEmp()
            event.returnValue = false;
            document.frmAdd.txtSearch.value = ''
        } else {
            event.returnValue = true;
        }
    }

    function addSelEmp() {
        var searchKey = document.frmAdd.txtSearch.value;
        var objSource = document.frmAdd.selNonMember;
        var objTarget = document.frmAdd.selMember;
        //var vari1 = document.frm.txtSearchEmp.value;
        searchKey = searchKey.toUpperCase()

        for(i = objSource.length-1; i >= 0; i--) {  

            var vari2 = objSource.options[i].text;
            vari2 = vari2.toUpperCase();

            if(vari2.indexOf(searchKey) >= 0) {
                //objTarget.options[objTarget.length] = new Option(vari2,objSource.options[i].value);
                objSource.options[i].selected = true;
            }
        }
    }