您好,欢迎访问一九零五行业门户网

js 自动补全

js 代码 //---------------------------------------------------自动补全begin-------------------------------- var maxcount = 0;// 表示他最大的值 var thiscount =0;// 初始化他框的位置 var flagthis = 0; var flag = 0; //标示是否选择自动补全 //自动补全方法 function zdbq(obj){ var id = obj; document.getelementbyid(zdbqid).value = id; jquery(#+id).keyup(function(even) { document.getelementbyid(autotxt).style.width= 214+px; var v = even.which; //回车键:13;上键38;下键40// 当点击上下键或者确定键时阻止他传送数据 if (v == 38 || v == 40 || v == 13){ return; } var txt = jquery(#+id).val();//这里是取得他的输入框的值 if (txt != ) { jquery.ajax({ url : xxx_xxx.action,//从后台取得json数据 type : post, datatype : json, data : {name : txt }, success : function(ls) { flagthis = 1; var offset = jquery(#+id).offset();//offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。 jquery(#autotxt).show(); jquery(#autotxt).css(top, (offset.top + 22) + px); jquery(#autotxt).css(left, offset.left + px); var candidate = ; maxcount = 0;//再重新得值 var list=eval(ls); jquery.each(list, function(k, v) { var nn=(v+).split(,); candidate += +nn[0]++nn[1]+; maxcount++; }); jquery(#autotxt).html(candidate); jquery(#autotxt li:eq(0)).css(background, #a8a5a5);//初始化默认选择第一个数据 //当单击某个li时反映 jquery(#autotxt li).click(function(){ flag = 1;//标示是否选择自动补全 var jgname=jquery(#autotxt li:eq(+this.id+)).text();//获取名称 var fid = jquery(#autotxt span:eq(+thiscount+)).text();//获取id jquery(#+id).val(jgname);//放入名称 $(#jcid).val(fid);//放入id jquery(#autotxt).html(); jquery(#autotxt).hide(); }); //移动对象 jquery(#autotxt li).hover(function(){ jquery(#autotxt li).css(background, #ffffff); jquery(#autotxt li:eq(+this.id+)).css(background, #a8a5a5); thiscount=this.id;},function(){ jquery(#autotxt li).css(background, #ffffff);}); }, error : function() { jquery(#autotxt).html(); jquery(#autotxt).hide(); maxcount = 0; } }); } else { jquery(#autotxt).html(); jquery(#autotxt).hide(); maxcount = 0; } } ); //=====================自动补全公共部分开始================================= //当单击body时则隐藏搜索值 jquery(body).click(function(){ jquery(#autotxt).html(); jquery(#autotxt).hide(); thiscount=0; }); } //键盘选择 jquery(function(){ //键盘按键移动事件上键38,下键40,确定键13 jquery(body).keyup( function(even){ var id = document.getelementbyid(zdbqid).value; var v = even.which; if(38==v){//上键 if(thiscount>0){ --thiscount; }else{ thiscount = maxcount-1; } jquery(#autotxt li).css(background, #ffffff); jquery(#autotxt li:eq(+thiscount+)).css(background, #a8a5a5); }else if(40==v){//下键 if(thiscount 在body中使用 onload=zdbq('自动补全input的id'); 只要在后台封装成json对象就行了 详细代码就不展示了,只说一下封装json代码 jsonarray arr=new jsonarray(); object[] obj = new object[]{名称,id}; //名称和id传递到前台 arr.add(obj);
其它类似信息

推荐信息