posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

ajax 的 输入选择 (同google&读数据库)

Posted on 2007-07-25 17:05 G_G 阅读(1249) 评论(2)  编辑  收藏 所属分类: javascript
问题: 用户在 WEB 中输入 机车 人员 等项 页面会根据当前字符给出选择提示
解决:scriptaculous javascript工具包的 Autocompleter.Local


与图对应代码:
<TD><html:checkbox property="value(Yloco)" value="Y"/>机车</TD>
<TD><input id="loco" type="text" name="value(loco)" size="20" value="${map['loco']}" onkeyup="getData();"></TD>
<div id="locoupdate" style="display:none;border:1px solid black;background-color:white;height:150px;overflow:auto;"></div>    

javascript 处理方法
   var arr = new Array();
   //关键方法
scriptaculous框架 提供方法
   //要使用 此方法 先到入 prototype.js  effects.js   controls.js
   new Autocompleter.Local('loco','locoupdate',
                      arr, { tokens: new Array(',','\n'), fullSearch: true, partialSearch: true});
  
function getData(){   
            //得到 字符数组 str,str,str.....
            
var url = "/jczb/jczb/meanwhileDiary.do?method=loco&par="+document.getElementById("loco").value;    
            
new Ajax.Request(
                    url,
                    {
                        method: 'get',
                        onComplete: action              
                });    
    }
    
function action(req){
            
var str = req.responseText.split(",") ;
            
while(!arr.length==0){
                arr.pop();
            }

            
forvar jj=0;jj<str.length-1;jj++ ){
                    arr[jj] 
= str[jj];
            }
        }



完整jsp


 
心得:多看书 是有帮助的

评论

# re: ajax 的 输入选择 (同google&读数据库)   回复  更多评论   

2007-07-26 19:33 by dfjinn
这种方法是每输一个字就查询一次数据库,如果对一个打字速度快的用户,那势必会对数据造成较大的压力。

# re: ajax 的 输入选择 (同google&读数据库) [未登录]  回复  更多评论   

2007-07-30 09:50 by G_G
我写到这份上了 应该可以安你的想法改 是很 好改的了

只有注册用户登录后才能发表评论。


网站导航: