2013-04-11 91 views
0

我想要在清单框内搜索。当用户在文本字段中输入文本时,如果这些项目存在于复选框列表中,则应该选中它。使用在文本框中输入的文本在checklistbox中搜索项目

HTML:

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged= "return SearchList();"/> 
<asp:CheckBoxList ID="CheckBoxList1" runat="server"> 
    <asp:ListItem>Vincent</asp:ListItem> 
    <asp:ListItem>Jennifer</asp:ListItem> 
    <asp:ListItem>Shynne</asp:ListItem> 
    <asp:ListItem>Christian</asp:ListItem> 
    <asp:ListItem>Helen</asp:ListItem> 
    <asp:ListItem>Vladi</asp:ListItem> 
    <asp:ListItem>Vinz</asp:ListItem> 
    <asp:ListItem>Churchill</asp:ListItem> 
    <asp:ListItem>Rod</asp:ListItem> 
    <asp:ListItem>Mark</asp:ListItem> 
</asp:CheckBoxList> 

的JavaScript:

function SearchList() { 
    try { 
     var l = document.getElementById('<%= CheckBoxList1.ClientID %>'); 
     var tb = document.getElementById('<%= TextBox1.ClientID %>'); 
     var p = l.item.length 
     if (tb.value == "") { 
      ClearSelection(l); 
     } else { 
      for (var i = 0; i < l.options.length; i++) { 
       if (l.options[i].value.toLowerCase().match(tb.value.toLowerCase())) { 
        l.options[i].selected = true; 
        return false; 
       } else { 
        ClearSelection(l); 
       } 
      } 
     } 
    } catch (e) {} 
} 

function ClearSelection(lb) { 
    lb.selectedIndex = -1; 
} 
+0

其非常紧迫!帮我!! – user2269583 2013-04-11 09:26:29

+0

你可以发布你的代码吗? – 2013-04-11 09:27:01

+2

你必须解释你的代码有什么问题,并发布它以便用于帮助你。你甚至没有问过一个恰当的问题! *关于*“它非常紧急!!帮助我!!”:*如果紧急,请付钱。我们都是志愿者,我们会帮助你,因为它符合我们自己的时间表。如果您希望某人为您编写一个完整的解决方案,那么只需根据您所“需要”的描述,无论如何这都是错误的网站。 – 2013-04-11 09:27:09

回答

0

我不知道ASP,我要去简单的HTML
找出它可能对你有所帮助。
HTML部分

<select id="combo"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 
<br> 
<input type="text" id="searchTXT" onblur="checkCombo();"> 

的Javascript部分

function checkCombo() { 
    try{ 
     var searchVal = $('#searchTXT').val(); 
     var options= document.getElementById('combo').options; 
     for (var i= 0, n= options.length; i < n ; i++) { 
     if (options[i].value.toLowerCase()==searchVal.toLowerCase()) { 
      document.getElementById("combo").selectedIndex = i; 
      break; 
     } 
    } 
    } 
    catch(e){} 
    } 
+0

你似乎使用jQuery,但OP不完全可以提到jQuery。你至少应该提到你正在使用jQuery并解释它是什么。更好:提供没有jQuery的解决方案。 – 2013-04-11 11:56:03

+0

@Felix Kling,感谢您提供有价值的信息......我认为用户通过观察代码来了解JQuery ......我将在下次尝试...... – 2013-04-11 12:02:17

相关问题