根据onKeyUp函数中的输入控件值填充ListBox

时间:2012-05-16 09:00:04

标签: javascript jquery asp.net

我有一个ListBox控件

 <asp:ListBox ID="ListBox1" runat="server">
                            <asp:ListItem Value="1" Text="XYZ" />
                            <asp:ListItem Value="0" Text="XYZD" />
                            <asp:ListItem Value="-1" Text="D" />
 </asp:ListBox>

输入:

<input id="listBoxFilterTextBox" type="text" onkeyup="FilterListBox()"

js功能:

 function FilterListBox() {
        var listBox = Get('ListBox1');
        var textBox = Get('listBoxFilterTextBox');

        for (i = 0; i < listBox.options.length; i++) {
            if (listBox.options[i].text.toLowerCase().indexOf(textBox.value.toLowerCase()) != -1) {
                listBox.options[i].style.display = "";
            } else {
                listBox.options[i].style.display = "none";
            }
        }

         function Get(id) {
        return document.getElementById(id);
         }

当我输入'X'来输入控件时,它会带来'XYZ','XYZD'..它可以正常使用Firefox和Chrome。但在IE中,它无法正常工作。如何解决这个IE问题?

提前致谢...

1 个答案:

答案 0 :(得分:1)

您无法使用CSS在IE中隐藏SELECT中的OPTION。而是添加第二个ListBoxSource以及所有需要的选项,并从ListBoxSource复制到ListBoxSource只有满足您标准的选项。