【问题标题】:Use select2 to simply prepopulate select from Ajax data使用 select2 从 Ajax 数据中简单地预填充选择
【发布时间】:2013-12-09 20:34:37
【问题描述】:

我只是尝试使用 Ajax 加载 select2 下拉菜单的数据,而不是将大型数据集内联到我的 HTML 中。

$('input[name="field"]').select2({
    ajax: {
        url: "/data.json",
        dataType: "json",
        results: function(data,page)
        {
            return data;
        }
    }
});

这很有效,因为它会等到我“打开”我的 select2 列表,然后再进行 Ajax 调用以获取数据。然后它也会正确显示数据。但是,它不会在我键入时过滤列表。相反,它会重复调用 ajax 来(大概)获取过滤后的数据。

另外,如果我在表单中设置了现有值,它不会出现在我的 select2 控件中。我猜这是因为我没有使用initSelection,但我不清楚如何正确执行此操作。

我做错了吗?看来我真正想要的是data 的功能,但需要远程加载。

【问题讨论】:

    标签: ajax jquery-select2


    【解决方案1】:

    我不认为这是理想的,但它有效:

    $.get("/data.json", function(data)
    {
        $('input[name="field"]').select2({
            data: data,
        });
    });
    

    【讨论】:

    • 它正在工作,但是 data 中应该有什么 json 。我的意思是什么形式?
    • @KaranDatwani 需要是{ id: 123, text: 'abcd' }的数组
    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2016-10-30
    • 2016-02-05
    • 1970-01-01
    • 2017-05-13
    相关资源
    最近更新 更多