日期:2014-05-16  浏览次数:20308 次

jquery autoComplete三:autothink.jsp续三
                /*为每个要显示的项目使用高级标签.即对结果中的每一行都会调用这个函数,返回值将用LI元素包含显示在下拉列表中.
                Autocompleter会提供三个参数(row, i, max): 返回的结果数组, 当前处理的行数(即第几个项目,是从1开始的自然数),
                当前结果数组元素的个数即项目的个数. Default: none, 表示不指定自定义的处理函数,这样下拉列表中的每一行只包含一个值.*/
            formatItem: function(row, i, total) {
            //match 方法没有找到匹配,返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。
            //全局标志 (g),设置了全局标志,元素0到n中包含所有匹配。
                var reg = new RegExp("&", "g");
            if(null!=row.CLASS1_NAME && "null"!=row.CLASS1_NAME){
            var htmlStr="&nbsp;<IMG alt=\"#\" src=\"<%=request.getContextPath()%>/images/png/Arrow-icon.png\"/>&nbsp;";
            var temp = row.CLASS1_NAME.match(reg);
            if(null != temp){
            var num = temp.length;
            for(var j=0;j<num;j++){
            row.CLASS1_NAME.replace("&","&amp;");
            }
            }
                    return row.PRODUCT_NAME+ htmlStr + row.CLASS1_NAME;
                }else{
                var temp = row.PRODUCT_NAME.match(reg);
            if(null != temp){
            var num = temp.length;
            for(var j=0;j<num;j++){
            row.PRODUCT_NAME.replace("&","&amp;");
            }
            }
                return row.PRODUCT_NAME.replace("&","&amp;");
                }   
            },
/*对每一行数据使用此函数格式化需要查询的数据格式. 返回值是给内部搜索算法使用的. 参数值row*/
            formatMatch: function(row, i, total) {
              return row.ITEM_NAME;     
            }, 
                /*和formatItem类似,但可以将将要输入到input文本框内的值进行格式化.同样有三个参数,和formatItem一样.Default: none,
      &