在jsp中使用jquery.autocomplete插件

 // 后台jsp 部分只要输出json 类型的字符串就可以了。

$(document).ready(function(){
   function parseFn(data) {     
         var rows = [];     
         for(var i=0; i<data.length; i++){     
            rows[rows.length] = {      

                data:data[i],             //下拉框显示数据格式 
                value:data[i].providerjc,      //选定后实际数据格式  
                result:data[i].providerjc  //选定后输入框显示数据格式 
            };      
          }     
         return rows;     
      }  
  $("#providerjc").autocomplete("../images/jquery/data/getProviderjcAndId.jsp", {

    minChars: 0,         //激活自动完成的输入字符数
    width: 150,

    matchContains: "word",    //只要包含输入字符就会显示提示 
    autoFill: true,        //自动填充输入框
    dataType: 'json',       //数据格式
        parse: parseFn,
    
    formatItem: function(row, i, max) {              
     return row.providerjc;
    }
    /*  这里我借鉴了一位javaeye 网友的调用方式。但发现formatMatch和formatResult两个方法不被调用。

    我猜是使用parse 方法的原因。这时需要在调用result 方法,实现填充其他数据

  ,
    formatMatch: function(row, i, max) {       
     return row.providerjc;
    },
    formatResult: function(row) {
     return row.providerid;
    } 

  */ 
   }).result(function(event, data, formatted){    
      $("#providerid").val(data.providerid);    //此处当填充文本框后,会将providerid填充到我的input隐藏域中
   }); 
  })    

 

posted @ 2010-01-18 14:23  小歪㊣傳  阅读(4639)  评论(0编辑  收藏  举报