Javascript jquery选择2如果在源中找不到文本,则向源添加文本

Javascript jquery选择2如果在源中找不到文本,则向源添加文本,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我想选择2作为一种组合框。参考附件图片。 所以,若用户键入一个字符串,但在源数组中找不到该字符串,那个么在enter或closing select2时,它应该将该新字符串添加到源数组中。假设之前有2个值,之后有3个 选择2,就像文件打开对话框中的组合框一样 我已经创建了示例代码,但无法运行。我无法更新源代码 : HTML: <div class="row"> <div class="col-md-2"> <input type="hidde

我想选择2作为一种组合框。参考附件图片。 所以,若用户键入一个字符串,但在源数组中找不到该字符串,那个么在enter或closing select2时,它应该将该新字符串添加到源数组中。假设之前有2个值,之后有3个

选择2,就像文件打开对话框中的组合框一样

我已经创建了示例代码,但无法运行。我无法更新源代码

:

HTML:

<div class="row">
    <div class="col-md-2">
        <input type="hidden" id="select2_sample3" class="form-control ">
    </div>
</div>
$(function () {

    var preload_data = {
        results: [{
            id: 'user0',
            text: 'Disabled User',
        }, {
            id: 'user1',
            text: 'Jane Doe'
        }]
    };

    $("#select2_sample3").select2({
        placeholder: "Select...",
        allowClear: true,
        minimumInputLength: 1,
        data: preload_data,
        query: function (query) {
            var data = {
                results: []
            }, i, j, s;
            for (i = 1; i < 5; i++) {
                s = "";
                for (j = 0; j < i; j++) {
                    s = s + query.term;
                }
                data.results.push({
                    id: query.term + i,
                    text: s
                });
            }
            query.callback(data);
        }

    }).on("select2-close", function () {
        // add to 
        console.log("close");
    });
});

JS:

<div class="row">
    <div class="col-md-2">
        <input type="hidden" id="select2_sample3" class="form-control ">
    </div>
</div>
$(function () {

    var preload_data = {
        results: [{
            id: 'user0',
            text: 'Disabled User',
        }, {
            id: 'user1',
            text: 'Jane Doe'
        }]
    };

    $("#select2_sample3").select2({
        placeholder: "Select...",
        allowClear: true,
        minimumInputLength: 1,
        data: preload_data,
        query: function (query) {
            var data = {
                results: []
            }, i, j, s;
            for (i = 1; i < 5; i++) {
                s = "";
                for (j = 0; j < i; j++) {
                    s = s + query.term;
                }
                data.results.push({
                    id: query.term + i,
                    text: s
                });
            }
            query.callback(data);
        }

    }).on("select2-close", function () {
        // add to 
        console.log("close");
    });
});
$(函数(){
变量预加载_数据={
结果:[{
id:'user0',
文本:“已禁用用户”,
}, {
id:'user1',
文字:“简·多伊”
}]
};
$(“#选择2#样本3”)。选择2({
占位符:“选择…”,
allowClear:是的,
最小输入长度:1,
数据:预加载_数据,
查询:函数(查询){
风险值数据={
结果:[]
},i,j,s;
对于(i=1;i<5;i++){
s=“”;
对于(j=0;j
我最近也有同样的任务。这是我的解决方案:

<input type="hidden" name="trBrand" id="trBrand" class="form-control"></input>

有道理。但如何在本地更新源代码,以便下次打开时添加新字符串?我的意思是,如果在var preload_数据中找不到新值,我该如何更新它。这正是我想要的。谢谢