<input type="text" id="filter">
<select id="asd">
<option>asd</option>
<option>zxc</option>
<option>qwe</option>
<option>cvb</option>
</select>
&#13;
我想做这样的事情,当我用文字输入书写时(例如&#34; zxc&#34;),然后会选择<option>zxc</option>
。
答案 0 :(得分:1)
您将要使用大量功能组合来执行此操作。 jQuery提供了功能.on
("input"
,它将在输入元素上采用各种事件处理程序,并生成您正在寻找的“实时”方面。接下来,您将需要输入输入的文本,并筛选选项以查看其中是否有任何匹配。 jQuery的filter
提供了这一点,在迭代期间将当前元素绑定到回调函数。剩下的就是获取select元素,并在匹配时将selectedIndex
分配给绑定元素的index()
。
看起来像这样:
var sel = $("#asd option"),
$f = $("#filter").on("input",function(){
var opt = sel.filter(function(){ return $(this).text() == $f.val(); });
if(opt.length) sel[0].parentNode.selectedIndex = opt.index();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="filter">
<select id="asd">
<option>asd</option>
<option>zxc</option>
<option>qwe</option>
<option>cvb</option>
</select>
答案 1 :(得分:0)
首先对文本字段进行状态更改。 每次字段更改时,请查看文本字段中的字符串。
现在每次查看字符串时,请检查文本字段是否包含&#34; asd&#34;,现在检查它是否包含&#34; zxc&#34;等等,您实际上只需检查文本字段输入是否以...开头等等......如果是,则可以手动设置要选择的选项。