【问题标题】:Select2 AJAX selected value is not appearing int he boxSelect2 AJAX 选择的值没有出现在框中
【发布时间】:2015-02-14 09:55:08
【问题描述】:

Select2 - 版本 4.0.0-beta.3

我正在努力将我的Select2 从 3 升级到 4.0。我在使用 Select2 处理 ajax 请求时遇到问题。 我有以下领域。

HTML

<input action="load_users" id="id_pic_credits" name="pic_credits" type="hidden">

JS

$(document).ready(function () {
    $("*[action='load_users']").select2({
        allowClear: true,
        width: '100%',
        multiple: false,
        minimumInputLength: 1,
        "ajax": {
            "url": _url,
            delay: 250,
            dataType: "json",
            data: function (search, page) {
                return search
            },
            processResults: function (data, page) {
                // parse the results into the format expected by Select2.
                // since we are using custom formatting functions we do not need to
                // alter the remote JSON data
                return {
                    results: data.items
                };

            },
            cache: true

        }
    });
});

HTML 结果

服务器响应

List of dicts.

[{'id':1, 'text':'Ray of Peace'},{'id':2, 'text':'Ray of Peace2'}]

HTML 结果

问题

当我点击任何记录时;我看不到该值是否实际上正在被选中。 当下拉关闭时;我没有看到选定的值。 但是,该字段的值在 HTML 中发生了更改;但我看不到结果。

【问题讨论】:

    标签: javascript jquery html jquery-select2


    【解决方案1】:

    据我了解,您不应再使用隐藏的输入元素来支持您的 Select2 控件。相反,您应该始终使用 &lt;select&gt; 元素。

    将您的 html 更改为:

    <select action="load_users" id="id_pic_credits" name="pic_credits"></select>
    

    请参阅Select2 4.0 Announcement 页面上的“不再隐藏输入标签”部分。

    jsfiddle

    【讨论】:

    • 他们终于接受了我们的推荐?选择2
    • 感谢您,我将 Select2 与 Aurelia 一起使用,一切正常,只是没有选择文本。它更早工作,然后在我进行一些重构时坏了,结果我删除了包含 select 的视图并使用了自定义 HTML 元素,但我没有意识到 Select2 需要输入 - 我把视图放回去了一切都再次工作:)
    猜你喜欢
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2017-02-07
    • 1970-01-01
    • 2020-12-17
    • 2018-01-29
    • 2019-01-14
    相关资源
    最近更新 更多