选择2远程源下拉字段搜索词不起作用

时间:2013-11-12 11:18:57

标签: jquery ajax twitter-bootstrap jquery-select2

我有一个城市字段,在inlinedit上调用它会在下拉列表中加载ajax数据。但是当我键入一个术语时,它不会选择自动选择的结果。例如,如果我输入“pabna”然后它应该选择带有“pabna”的自动选择选项,现在它只显示结果的下划线,即“pabna”它只显示pabna字的下划线。我正在尝试使用以下数据函数来改进我的代码。

$('#city_id').editable({
            type: 'select2',
            name: 'otmp_tx_user_details:city_id',
            pk:"userdetailid:<?php if($student_info->userdetailid) echo $student_info->userdetailid; else echo "0";?>",
                    select2: {
                                    ajax: {
                                    url: "<?php echo site_url()?>students/get_city_by_country",                                           
                                    dataType: 'json',
                                    data: function (term, page) {
                                        return {
                                            term: term 
                                        };
                                    },
                                    results: function (data,page) {
                                            //alert(data);
                                            return {results: data};
                                            }
                                        }
                                },

            url: "<?php echo site_url();?>students/inlineedit",
            success: function(data) {

            }
        });

请点击此处查看我实际获取的内容。 enter link description here 请检查并帮助我解决我的问题。

1 个答案:

答案 0 :(得分:1)

根据website上的Source2文档:

“Select2使用jQuery的$ .ajax函数默认执行远程调用。可以在ajax设置中指定替代传输函数,或者可以通过提供自定义查询函数而不是使用ajax来构建完全自定义的实现助手“。

我的自定义查询(使用Backbone.js模型和集合提供程序)如下:

query: function (query) {
    var data = {results: []};
    self.collection.each(function(model) {
        var s = "";
        if (model.get("name").indexOf(query.term) !== -1) {
            s += model.get("name");
            data.results.push({id: model.get("id"), text: s});
        }
    });
    query.callback(data);
}

如您所见,我只是对query.term进行简单的条件检查(在搜索框中键入的内容)。

相关问题