百度搜索建议

$('.search input[type="text"]').suggestion({
	url:'https://www.baidu.com/sugrec',
	FieldName:'wd',
	parameter:{
		'ie':'utf-8',
		'json':1,
		'prod':'pc',
		'from':'pc_web'
	},
	jsonp:'cb',
	onCallback:function(data){
		var result = [];
		if(data['g']){
			result = data['g'].map(function(item){
				return {
					'value':item['q'],
					'name':item['q']
				};
			});
		}
		return result;
	}
});

调用方法:

$(selector).suggestion(options,callback);

options参数

参数 默认值 说明
url '' 请求的接口地址
suggestionCls 'suggestion' 提示框的内容class
activeCls 'active' 列表项选中class
triggerNode 'li' 建议列表中触发选择的节点
itemFormat function(data){return data['name'];} 建议列表节点样式
FieldName 'word' 当前input表单项在请求接口时的字段名
dynamic true 是否需要异步请求数据
dataType 'jsonp' 请求的格式
parameter {} 其他与接口有关参数
jsonp 'callback' 传递自定义回调函数
jsonpCallback '' 自定义回调函数
autoSubmit true 点击确定是否自动提交表单
beforeSend() [无] 发送前动作:传入准备提交的表单项目,返回false终止提交
onCallback(data) [无] data表示请求到的数据,返回[{'name':'','value':''},...]表示搜索列表项,其中name用于显示,value表示有效值
onChange(data) function(data){return data['value'];} 用户按键盘切换时触发,data表示当前选中项的数据,返回false不自动填入值;
onSelect(data) function(data){return data['value'];} 选中搜索建议列表项时触发,data表示当前选中项的数据,返回false不自动填入值;

callback(api)参数

方法 说明
show() 展示搜索建议面板
hide() 隐藏搜索建议面板