扩展easyui的combobox组件的自动完成(autocomplete)

easyui的combobox自带的自动完成,只能从第一个字符开始匹配,如果我想通过用户姓名的简拼或者中文名来匹配的话,就需要自己写扩展方法。

easyu自带的filter属性就是做这个用的。

页面的html,其中http://www.feelcal.com/easyui/json/mx.json是远程的Json数据地址

<input class="easyui-combobox" id="c1"/>

JS代码如下:

$(function () {
        //用户名选择事件
        $("#c1").combobox({
            method: 'get',
            url: 'json/mx.json',
            valueField: 'id',
            textField: 'name',
            filter: function (q, row) {
                var ret = false;
                //拼音
                var spell = row['spell'];
                if (spell && spell.indexOf(q) >= 0) {
                    ret = true;
                }
                //textField
                if (row[$(this).combobox('options').textField].indexOf(q) >= 0) {
                    ret = true;
                }
                return ret;
            }
        });
    });

 

demo地址:http://www.feelcal.com/easyui/combobox.html

 

你可能感兴趣的:(autocomplete,easyui,combobox)