YYlxid
2014-12-11 02:45jQuery autocomplete 输入一个字符会显示所有数据,输入两个字符后进行过滤
15输入第一个字符 匹配的会加粗,但是不匹配的也会显示
输入第二个字符后,不匹配的才会被过滤
使用的是jquery.autocomplete.js
使用 外部json数据
$("#Test").autocomplete("json/test.json", {
width:150,
max:10,
dataType: 'json',
minChars: 1, //自动完成激活之前填入的最小字符
autoFill: false, //自动填充
minLengthType:2,
//加入对返回的json对象进行解析函数,函数返回一个数组
parse:function(data){
var rows=[];
for(var i=0;i<data.length;i++){
rows[rows.length]= {
data:data[i].label,
value:data[i].label,
result:data[i].label
};
}
for(var i=0;i<data.length;i++){
//alert(rows[i].data);
}
return rows;
},
formatItem:function(row,i,n){
alert("yes"+row+i);
return row;
},
formatMatch: function(data, i, total) {
//alert("yes"+data);
return data;
},formatResult: function(row){
// alert("yes"+row);
return row;//要显示在文本框的子字段;
}
});
数据
[
{"label" : "Aragorn"},
{"label" : "Arwen"},
{"label" : "Bilbo Baggins"},
{"label" : "Boromir"},
{"label" : "Frodo Baggins"},
{"label" : "Gandalf"},
{"label" : "Gimli"},
{"label" : "Gollum"},
{"label" : "Legolas"},
{"label" : "Meriadoc Merry Brandybuck"},
{"label" : "Peregrin Pippin Took"},
{"label" : "Samwise Gamgee"}
]
- 点赞
- 回答
- 收藏
- 复制链接分享
4条回答
为你推荐
- 如何通过ajax自动完成在文本框中传递值并在php处理页面中接收
- javascript
- ajax
- autocomplete
- jquery
- php
- 2个回答
- 每55个字符后插入一个Break
- php
- jquery
- 2个回答
- 使用AJAX获取JSON数据并转换为字符串数组
- ajax
- php
- jquery
- 2个回答
- 如何检查url是否为空字符串
- javascript
- php
- jquery
- 5个回答
- 输入为空或<2个字符不显示结果时
- php
- jquery
- 2个回答