在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隐藏域中
});
})