DropDownList如何实现即可下拉又可编辑 就像百度那样!
如何实现 DropDownList 既可以选择下拉 又可以编辑
且编辑时,有自动补全功能!补全的数据全部来自数据库!
例如 百度页面: dropdownlist 百度 数据库 可编辑可下拉 自动补全
[解决办法]
你说的是这个吧?http://jqueryui.com/autocomplete/这个其实是个jquery插件。
refer:http://q.cnblogs.com/q/45390/
[解决办法]
其实就是一个textbox,下面放个div而已。jquery autocomplete插件可以快速的实现这个效果。
[解决办法]
给你一个简单的demo:
首先引用这个jquery插件,
<link href="../js/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script src="../js/jquery.autocomplete.js" type="text/javascript"></script>
$(function(){
$("#<%=txtDWDM.ClientID %>").autocomplete("../services/SearchSydwInfoService.ashx",{
width:500,
max:20,
delay:10,
cacheLength:1,
formatItem:function(data,i,max){
return data.toString();
},
formatResult:function(data,i,max){
return data.toString().split(',')[1];
}
}).result(function(event,data,formatted){
var array = data.toString().split(',');
$("#<%=txtDWDM.ClientID %>").val(array[0]);//单位代码
$("#<%=txtDWMC.ClientID %>").val(array[1]);//单位名称
});
});
<asp:TextBox ID="txtDWDM" runat="server" CssClass="textboxWidth" Width="98%" />
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request.QueryString["q"] != null)
{
//
string key = context.Request.QueryString["q"];
string keyValues = GetKeyValues(key);
context.Response.Write(keyValues);
}
}
public string GetKeyValues(string k)
{
BLL bll = new BLL();
DataTable dt = bll.GetSYDWInfo(k).Tables[0];
StringBuilder sb = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sb.Append(dr["result"].ToString() + "\n");
}
return sb.ToString().Trim();
}