问题描述
最近做项目,需要用到一个textbox模糊搜索用户,并从下拉选框中选择用户的功能。我通过textbox+autocompleteextender,autoextender绑定数据库字段,功能是实现了,但是现在要将其封装起来,因为后台要动态创建这样的一个组合控件,并动态地绑定数据,最终将选择数据写入数据库。有没有一些参考资料,或者好的解决方案?只要能实现输入用户名称,出现下拉的选项必须是数据库搜索绑定的数据,jquery的插件也行。
解决方案
解决方案二:
新建一个ascx用户控件,把文本框等方上去
解决方案三:
楼上说的是一种解决方案。
解决方案四:
给你一个textbox输入框模糊查询联动其他控件的例子,你可以参考一下:1、引入脚本如下<scripttype="text/javascript"src="Js/jquery-1.9.1.min.js"></script><scripttype="text/javascript"src="Js/InputSearch.js"></script>
2、调用方法如下:jQuery(function(){ShowSearchCreateOrderInfo();});functionShowSearchCreateOrderInfo(){ShowSearchInfo(jQuery('#OTxtItem02'),{type:'search',url:'WebService2.asmx/GetCarBrandValue',condition:jQuery("#Hidden1").val(),NoAutoShow:true,othInfo:true,//getCon:function(){con=jQuery('#ODropItem02').val()+'BusNumInfo';returncon;},othClick:function(ele){//设置联动vararr=jQuery('#OTxtItem02').attr('othInfo').split('↑');if(arr.length!=4){alert('出错了');returnfalse;}jQuery('#ODropItem02').val(arr[0]);jQuery('#OTxtItem03').val(arr[1]);jQuery('#OTxtItem05').val(arr[2]);jQuery('#OTxtItem04').val(arr[3]);}});}
<inputid="Hidden1"runat="server"type="hidden"/>
解决方案五:
解决方案六:
#OTxtItem02是textbox输入框#ODropItem02,#OTxtItem03,#OTxtItem05,#OTxtItem04是当#OTxtItem02输入框模糊查询选中其中一个选项之后需要联动的几个其他控件。接下来就是写WebService2.asmx里面的GetCarBrandValue方法publicstringGetCarBrandValue(stringFieldInfo){string[]arr=Server.UrlDecode(FieldInfo).Trim('↑').Split('↑');if(arr.Length!=4){return"传递参数有误";}stringsql="selectOTxtItem02,ODropItem02,OTxtItem03,OTxtItem05,OTxtItem04fromCarsInfowhere条件字段='"+arr[3]+"'andOTxtItem02like'%"+arr[0]+"%'";DataTabledt=share.rdtable(sql);StringBuilderstrText=newStringBuilder();intcount=Convert.ToInt32(arr[1]);intindexC=0;if(dt.Rows.Count==0){return"没有相关数据";}stringothInfo="";foreach(DataRowdrindt.Rows){if(indexC<count){othInfo=dr["ODropItem02"].ToString().Trim()+"↑"+dr["OTxtItem03"].ToString().Trim()+"↑"+dr["OTxtItem05"].ToString().Trim()+"↑"+dr["OTxtItem04"].ToString().Trim();strText.Append("<inputtype='input'style='border:0px;cursor:pointer;width:"+arr[2]+"'value='"+dr["OTxtItem02"].ToString().Trim()+"'othInfo='"+othInfo+"'rV='"+dr["OTxtItem02"].ToString().Trim()+"'class='inputSel001'/>");indexC++;}else{break;}}returnstrText.ToString();}
解决方案七:
看看,学习一下
解决方案八:
我给你的这个参考例子是基于jQuery+WebService的方法实现的。另外还有2个需要注意的地方:1.写好的javascript的方法ShowSearchCreateOrderInfo,假如要加载的话,一定要把这个ShowSearchCreateOrderInfo方法放在jQuery(function(){}里面,切记!2.ShowSearchCreateOrderInfo方法里的condition后面的jQuery("#Hidden1").val()对应webservice2里面的sql语句中的条件字段的值