我试图将选中的值从数据库加载到我的多选框中。
当我最初从数据库加载选项时,它完美无缺。
但我想为此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是如何完成的,除此之外它没有正常工作
即使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
所选区域?这也需要禁用已选择项目的选择功能。
答案 0 :(得分:5)
所以在Mr Arun P Johny
的一点帮助之后,
我最终得到了非常简单的答案。
也许我还没有完全掌握它,但我理解正确,你必须以不同的方式接近加载,具体取决于你是从Select2
还是input
创建select
。
$('#media_keywords').select2().select2('val', keywordArray)
keywordArray
是ID数组。