搜索建议 - suggestion

百度搜索建议

$('.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() 隐藏搜索建议面板