Select2版本4.0.6-rc.0和grails 2.5.5

时间:2019-04-04 21:59:24

标签: jquery json grails jquery-select2 grails-2.5

在grails视图中,我具有以下代码段,用于填充select2的数据源

$(document).ready(function() {
    $('.model-tags-select2').select2({
        //placeholder: "Search existing tags and enter new tag",
        tags: true,
        multiple: true,
        ajax: {
                url: $.jummp.createLink("modelTag", "fetchTagsForSelect2"),
                dataType: 'json',
                type: "GET",
                cache: true,
                async: true,
                processData: true,
                data: function (params) {
                    var queryParameters = {
                        search: params.term
                    };
                    return queryParameters;
                },
                processResults: function (data) {
                    console.log(data);
                    return {
                        results: data
                    };
                }
            }
        });
    });

ModelTagController.groovy

def fetchTagsForSelect2() {
    String term = params.get("search").encodeAsHTML()
    List<String> tags = modelTagService.search(term)
    List result = []
    tags.eachWithIndex { String value, Long index ->
        result.add(["id": index, "text": value])
    }
    println result
    def rt = ["results": result] as JSON
    println rt
    render rt
}

当我在视图的选择选项中键入'C'时,打印语句将产生以下结果。

{"results":[{"id":0,"text":"Cannot be produced"}]}
[[id:0, text:Cannot be produced]]
{"results":[{"id":0,"text":"Cannot be produced"}]}
[[id:0, text:Cannot be produced]]
{"results":[{"id":0,"text":"Cannot be produced"}]}
[[id:0, text:Reproducible partially], [id:1, text:Cannot be produced], 
[id:2, text:Reproducible], [id:3, text:New Approach]]
{"results":[{"id":0,"text":"Reproducible partially"}, 
{"id":1,"text":"Cannot be produced"},{"id":2,"text":"Reproducible"}, 
{"id":3,"text":"New Approach"}]}

console.log(data)显示服务器返回了正确的数据格式以供选择。请参见下面的屏幕截图。 enter image description here

不幸的是,我不知道为什么出现以下屏幕截图这样的错误。 enter image description here

如果我取消注释或删除了placeholder的{​​{1}}属性,则会遇到另一个jQuery错误。参见下图。 enter image description here

问题是:

  1. 您在工作中遇到过类似情况吗?

  2. 任何人都可以给我提示解决这些问题的方法吗?

0 个答案:

没有答案