日期:2014-05-17  浏览次数:20966 次

ASP.NET 根据TextBox输入的内容自动定位到ListBox中项

                这个效果很简单,直接上代码

 <script type="text/javascript">

        function OnTextChanged(textBoxID, listBoxID) {
            var inputText = $.trim($("#" + textBoxID.toString()).val());
            if (inputText.length != 0) {
                for (var i = 0; i < document.getElementById(listBoxID.toString()).options.length; i++) {
                    document.getElementById(listBoxID).options[i].selected = false;
                }

                var sInputName = inputText.toUpperCase();
                var iStopFlag = -1;
                var iIndex = 0;
                var sText;
                while (iIndex < document.getElementById(listBoxID).options.length && iStopFlag == -1) {
                    sText = document.getElementById(listBoxID).options[iIndex].text.toUpperCase();
                    if (sText.indexOf(sInputName) != -1) {
                        document.getElementById(listBoxID).options[iIndex].selected = true;
                        //iStopFlag = 0;
                    }
                    iIndex++;
                }
            }
        }
       
    </script>

前台代码:

<table>
 <tr>
            <td>
                <div style="margin-top: 0; text-align: right">
                    定位商户(请输入商户名称):
                    <asp:TextBox ID="txtLocateAllSeller" runat="server" onkeyup="OnTextChanged('txtLocateAllSeller','liboxAllSellers')"></asp:TextBox></div>
            </td>
            <td>
            </td>
            <td>
                <div style="margin-top: 0; text-align: left">
                    定位商户(请输入商户名称):
                    <asp:TextBox ID="txtLocateSelectSeller" runat="server" onkeyup="OnTextChanged('txtLocateSelectSeller','selectSellers')"></asp:TextBox></div>
            </td>
        </tr>
</table>

这个js方法好处就是一个通用方法,只需要传入TextBox的ID和ListBox的ID即可。定位也相当于模糊查询。


3楼MrChen904天前 16:16
我浮躁了 - - 不好意思 ,是好东西。
2楼wangqiuyun4天前 16:00
好东东,顶起
1楼Chinajiyong4天前 14:55
回复MrChen90n可以的,仔细看看是不是文本框ID和listBoxID是否正确,注意有单引号