【JavaScript】Select下拉列表 可输入的模糊查询

这个是我用了三天的时间做出来,虽然在自己的项目中没有用到,但是感觉还是挺有成就感的,好东西就应该分享一下。。

div style="position:relative";> 
<span style="overflow:hidden"> 

       学院:

       <select type="text"  id="academy" class="easyui-combobox" name="state" style="width: 150px; margin-right: 100px;margin-top: 60px"@* 级联查询 *@  url="/ConfigurationQue/QueryAllCollege";valueField="OrganizationID" textField="OrganizationName" required="true" editable="true";οnchange="this.parentNode.nextSibling.value=this.value" >
			 <option value="上海">上海</option>
            <option value="廊坊">廊坊</option>
            <option value="北京">北京</option>
            <option value="广州">广州</option>
            <option value="深圳">深圳</option>
       </select> </span><input type="text" id="txtSearch" maxlength="50" onClick="function" style="width:130px;margin-top: 60px;margin-left:225px;position:absolute;left:0px;background-color:transparent" οnblur="this.style.backgroundColor='#ffffff'"   />


  window.onload = function() {
                var txtSearch = document.getElementById("txtSearch");
                var selType = document.getElementById("academy").options;
                var List = [];
                for (var i = 0; i < academy.length; i++) {
                    List[i] = academy[i].value + "|" + academy[i].text;
                }
                txtSearch.onclick = function() {
                    var Html = "";
                    if (!(txtSearch.value.length < 1)) {
                        academy.length = 0;
                        for (var i = 0; i < List.length; i++) {
                            if (List[i].indexOf(txtSearch.value) > -1) {
                                academy.add(new Option(List[i].split("|")[1], List[i].split("|")[0]));
                            }
                        }
                    }
					txtSearch.value="";
					
                };
            }

 

实现下拉列表模糊查询,你可以使用JavaScript实现,具体步骤如下: 1. 创建一个下拉列表,用于存放所有可选项; 2. 监听输入框的输入事件,获取输入的值; 3. 遍历下拉列表中的所有选项,与输入的值进行比对; 4. 将符合条件的选项添加到一个新的下拉列表中,并显示出来。 以下是一个简单的实现代码: HTML: ```html <input type="text" id="input"> <select id="options"> <option value="apple">苹果</option> <option value="banana">香蕉</option> <option value="orange">橙子</option> <option value="grape">葡萄</option> <option value="watermelon">西瓜</option> </select> ``` JavaScript: ```javascript const input = document.getElementById('input'); const options = document.getElementById('options'); // 监听输入框的输入事件 input.addEventListener('input', () => { const value = input.value.trim(); const newOptions = document.createElement('select'); // 遍历下拉列表中的所有选项 for (let i = 0; i < options.length; i++) { const optionValue = options[i].value; // 与输入的值进行比对 if (optionValue.includes(value)) { const newOption = document.createElement('option'); newOption.value = optionValue; newOption.textContent = options[i].textContent; newOptions.appendChild(newOption); } } options.replaceWith(newOptions); }); ``` 该代码会监听输入框的输入事件,获取输入的值,然后遍历下拉列表中的所有选项,将符合条件的选项添加到一个新的下拉列表中,并替换原有的下拉列表。注意,该代码只是一个简单的实现,还需要根据具体需求进行修改和扩展。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值