Select2-jqueryコンポーネントで選択した値を表示しようとしています。
var select = $(".select2").select2({
multiple: true,
placeholder: "",
width:'100%',
data: z
});
var selectedValues = $("#sourceValues").val().split(',');
$.each( selectedValues, function(k,v){
$(".select2").select2('val',v);
})
要素sourceValues
は値を保持します。例:2,4そしてz
は、推奨されるIDとテキストを保持するオブジェクトの配列です。 <options>
はSelect2要素にリンクされていますが、選択した値を要素に表示できません。また、Chrome consoleでクエリを実行しようとすると、次のように記述しても動作します。
$(".select2").select2('val',4)
従って <option>
のid 4が選択されています。
http://ivaynberg.github.io/select2/#documentation
val
選択にアタッチ-多値-選択する必要があるオプションの値属性の配列。空の場合はnull。
そう:
var selectedValues = $("#sourceValues").val().split(',');
$(".select2").select2('val',selectedValues);
誰かが必要な場合のSelect2 4.0バージョン:
var selectedValues = $("#sourceValues").val().split(',');
$(".select2").val(selectedValues).trigger("change");
var selectedValues = $("#sourceValues").val().split(',');
var $multiSelect = $(".select2").select2();
$multiSelect.val(selectedValues).trigger("change");
たとえばループで動的配列を作成するには、次のようにします。
data=[]
for(let input of inputs){
*//key of dynamic build*
if(typeof data[input.name]==='undefined'){
data[input.name]=[]}
data[input.name].Push(input.value);
console.log(data)
}