选择2:加载选定的值

时间:2014-09-03 08:03:38

标签: jquery jquery-select2

我试图将选中的值从数据库加载到我的多选框中。

当我最初从数据库加载选项时,它完美无缺。

enter image description here

但我想为此rrecord添加 SELECTED 项。 我已经尝试了一些有点hacky的方法,就像这样。

                var keywordArray = new Array();
                keywordArray = test[0].keyword.split(",");

                for( var x = 0; x < keywordArray.length ; x++){
                    foundKeyword = $( "select" ).find("option[value="+keywordArray[x]+"]").text();
                    $('.select2-choices').prepend("<li class='select2-search-choice'><div>" + foundKeyword + "</div><a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>");
                    $('.select2-search-field input').attr("aria-activedescendant","select2-result-label-25");
                    $('.select2-search-field input').css("width", "10px");
                    $('.select2-search-field input').removeClass("select2-default");


                }

这个CANT是如何完成的,除此之外它没有正常工作

enter image description here

即使SELECTED关键字出现在那里。你不能删除它们,下拉列表中的相关值仍然可以选择(不是灰色)。

我已经从网上尝试了一个例子,但是没有用

                var pills = [{id:0, text: "ECHO"}, {id:1, text: "BRAVO"}];

                $('#media_keywords').select2({
                    placeholder: "Select a pill",
                    data: function() { return {results: pills}; }
                });

所以我的问题是,如何从数据库加载SELECTED数据并刷新或重新初始化select2所选区域?这也需要禁用已选择项目的选择功能。

1 个答案:

答案 0 :(得分:5)

所以在Mr Arun P Johny的一点帮助之后, 我最终得到了非常简单的答案。

也许我还没有完全掌握它,但我理解正确,你必须以不同的方式接近加载,具体取决于你是从Select2还是input创建select

我是从一个选择创建的,所以从AJAX调用中获取数据,我只是使用包含所选项的ID值的数组并像这样传递它

 $('#media_keywords').select2().select2('val', keywordArray)

keywordArray是ID数组。