Select2 设置多选选项
Select2 set multiple selected options
我一直在寻找解决以下问题的解决方案,但是我阅读的以前的问题没有产生成功的结果。
我有一个 JSON 编码数组存储在数据库中,例如 ["2",2,5]
。我需要从数组中删除第一个值,并将剩余的项目用于 select 来自 select2 的多个 select 中的特定选项。下面显示的当前解决方案显示了与剩余数组的第一个值对应的选项,而不是第二个值。有什么建议吗?
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8}).select2('val', [<?php $LstTags = json_decode($row["Tags"]); for($i = 1; $i < count($LstTags); $i++){ if($i != count($LstTags)-1){ echo '"'.$LstTags[$i].'",'; } else { echo '"'.$LstTags[$i].'"'; }} ?>]);
结果
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8}).select2('val', ["2","5"]);
HTML代码
<select class="form-control select2" multiple="multiple" data-placeholder="Select Secondary Tags" id="sltETags">
<?php
$LstTags = $TagManager->displayTags(0);
for($i = 0; $i < count($LstTags); $i++){
?><option value="<?php echo $LstTags[$i][0]; ?>"><?php echo $LstTags[$i][1]; ?></option><?php
} ?>
</select>
问题似乎出在更改所选项目的 Javascript 函数上。我的修复如下:
<?php
$LstTags = json_decode($row["Tags"]);
for($i = 1; $i < count($LstTags); $i++){
$LstTags[$i] = "$LstTags[$i]";
}
$LstTags = json_encode($LstTags);
?>
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8});
$("#sltETags").val(<?php echo $LstTags; ?>).select2();
我一直在寻找解决以下问题的解决方案,但是我阅读的以前的问题没有产生成功的结果。
我有一个 JSON 编码数组存储在数据库中,例如 ["2",2,5]
。我需要从数组中删除第一个值,并将剩余的项目用于 select 来自 select2 的多个 select 中的特定选项。下面显示的当前解决方案显示了与剩余数组的第一个值对应的选项,而不是第二个值。有什么建议吗?
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8}).select2('val', [<?php $LstTags = json_decode($row["Tags"]); for($i = 1; $i < count($LstTags); $i++){ if($i != count($LstTags)-1){ echo '"'.$LstTags[$i].'",'; } else { echo '"'.$LstTags[$i].'"'; }} ?>]);
结果
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8}).select2('val', ["2","5"]);
HTML代码
<select class="form-control select2" multiple="multiple" data-placeholder="Select Secondary Tags" id="sltETags">
<?php
$LstTags = $TagManager->displayTags(0);
for($i = 0; $i < count($LstTags); $i++){
?><option value="<?php echo $LstTags[$i][0]; ?>"><?php echo $LstTags[$i][1]; ?></option><?php
} ?>
</select>
问题似乎出在更改所选项目的 Javascript 函数上。我的修复如下:
<?php
$LstTags = json_decode($row["Tags"]);
for($i = 1; $i < count($LstTags); $i++){
$LstTags[$i] = "$LstTags[$i]";
}
$LstTags = json_encode($LstTags);
?>
$("#sltETags").select2({ placeholder: 'Select a Primary Tag', minimumResultsForSearch: 8});
$("#sltETags").val(<?php echo $LstTags; ?>).select2();