jquery - 以编程方式将所选选项添加到 Select2 中

标签 jquery jquery-select2

我有一个单一选择 select2,它使用 ajax 搜索来查找结果。我已经这样初始化了:

Task.ConfigureAssignee = function (objId) {

    var sectionID = (Utilities.GetQueryStringParams('subsection') != undefined) ? Utilities.GetQueryStringParams('subsection') : "-1";

    $(objId).select2({
        placeholder: 'Type names of people...',
        minimumInputLength: 3,
        multiple: false,
        width: '520px',
        id: function (obj) {
            return obj.ID;
        },
        ajax: { 
            type: "POST",
            datatype: 'json',
            url: "/webservices/globalwebservice.asmx/EventInviteSearch",
            data: function (term) {
                return JSON.stringify({ q: term, sectionId: sectionID });
            },
            contentType: 'application/json; charset=utf-8',
            results: function (data, page) { 
                return { results: data.d.SearchResults };
            }
        },
        formatResult: Task.FormatPersonSearchResult,
        formatSelection: Task.PersonForSelection
    })
}

我想做的是在按钮上单击通过 javascript 将新项目添加到选择中。

我已经从文档中查看了 $("#ddlinput").select2("val", "CA"); ,但这要求该项目已经绑定(bind)到 select2。

任何帮助都会很棒。

<小时/>

我想我可能需要使用 initSelection 函数设置输入的值并重新创建 select2。我尝试过这个,但它不起作用。没有错误,但什么也没有发生。

最佳答案

我使用 AJAX 来提供用户可以单击并添加到选择框的建议。

我为此经历了很多痛苦,最终我得到了这个(这是建议点击处理程序,即选项文本和值来自现实世界中的 AJAX)。

var select = $('#myselect');
var option = $('<option></option>').
     attr('selected', true).
     text("An Option").
     val(42);
/* insert the option (which is already 'selected'!) into the select */
option.appendTo(select);
/* Let select2 do whatever it likes with this */
select.trigger('change');

似乎可以解决问题。

关于jquery - 以编程方式将所选选项添加到 Select2 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23132404/

相关文章:

javascript - jquery - 使用 $(document).on ('play' 、 'video' 、 function(){}) 时播放不起作用

javascript - Instafeedjs 和 Fancybox 如何让灯箱在 instafeed 的 javascript 输出上工作

javascript - 选择 td 旁边的下一个选择框,然后按其文本值选择一个选项

php - 从组合框中选择值

Javascript/JQuery if 语句

jquery - jquery select2 插件是否支持在下拉列表中具有替代行颜色的功能?

javascript - Select2 下拉更改事件不起作用

jquery - 选择2 : Preselected item and correct rendering through templateSelection

Javascript数组父子结构

php - 如何将渲染后的 PHP+HTML 代码导入到文本文件中?