QQ上一个朋友让我帮忙用JS写一个自动完成的功能,类似ajax toolkit里面的autocomplete控件一样,可以象google的自动搜索一样。
http://www.asp.net/AJAX/Control-Toolkit/Live/AutoComplete/AutoComplete.aspx
但是又不愿意为了这一个控件而安装整个大包,给项目部署带来麻烦。

         想想用js做起来也不难,我的想法是在input text的后面放一个div,然后把自动完成的一些数据放到div的table 中,然后通过正则表达式进行筛选,来达到过滤显示的效果,这样缺点是如果自动完成项目很多的话,最后生成的页面html代码会很长,不过对于简单的应用来说应该是够用了。有其他更好的方法可以讨论一下。



代码如下:

用js写的自动完成功能AutoComplete <script type="text/javascript" language="javascript">
用js写的自动完成功能AutoComplete    function onTD(obj)
>

Html代码部分
用js写的自动完成功能AutoComplete                        <input id="Text1" runat="server"  onkeyup="javascript:ShowDropDown('dropdown',this)" type="text" /><div id="dropdown" style="width: 100px; height: 100px; display:none">
用js写的自动完成功能AutoComplete                            
<table runat="server" id="tbTable1">
用js写的自动完成功能AutoComplete                                
<tr>
用js写的自动完成功能AutoComplete                                    
<td onmouseout="javascript:outTD(this)" onmouseover="javascript:onTD(this)" onclick="javascript:GetTdText(this,'Text1','dropdown')">
用js写的自动完成功能AutoComplete                                    art11111
用js写的自动完成功能AutoComplete                                    
</td>
用js写的自动完成功能AutoComplete                                
</tr>
用js写的自动完成功能AutoComplete                                
<tr>
用js写的自动完成功能AutoComplete                                    
<td onmouseout="javascript:outTD(this)" onmouseover="javascript:onTD(this)" onclick="javascript:GetTdText(this,'Text1','dropdown')">
用js写的自动完成功能AutoComplete                                    bbbbbbbbbb
用js写的自动完成功能AutoComplete                                    
</td>
用js写的自动完成功能AutoComplete                                
</tr>
用js写的自动完成功能AutoComplete                                
<tr>
用js写的自动完成功能AutoComplete                                    
<td onmouseout="javascript:outTD(this)" onmouseover="javascript:onTD(this)" onclick="javascript:GetTdText(this,'Text1','dropdown')">
用js写的自动完成功能AutoComplete                                    arbbbbbbb
用js写的自动完成功能AutoComplete                                    
</td>
用js写的自动完成功能AutoComplete                                
</tr>
用js写的自动完成功能AutoComplete                            
</table>
用js写的自动完成功能AutoComplete                        
</div>



后台数据绑定
用js写的自动完成功能AutoComplete    protected void Page_Load(object sender, EventArgs e)
    }

相关文章: