在 PHP 中,如何使用 select2(Jquery 插件) 显示选定的值
In PHP, how do I showing selected values with select2(Jquery pulgin)
我需要 select2 的 select 框中的多个值,但它 select 是最后一个。
我可以将 apple
、tomato
插入数据库,但在浏览器的 select2 中只显示 tomato
。
这是我的代码,它只 select 为 select 设置一个值,而不是多个。
<?php if ($views['mb_medical']) $medi_arr = explode('|', $views['mb_medical']);
for ($i = 0; $i < count($medi_arr); $i++) { ?>
<select class="medical_subject" name="mb_medical[]" id="mb_medical" multiple="multiple">
<option value="apple" <?php if($medi_arr[$i] == 'apple') echo 'selected'; ?>>apple</option>
<option value="tomato" <?php if($medi_arr[$i] == 'tomato') echo 'selected'; ?>>tomato</option>
<option value="banana" <?php if($medi_arr[$i] == 'banana') echo 'selected'; ?>>banana</option>
<option value="melon" <?php if($medi_arr[$i] == 'melon') echo 'selected'; ?>>melon</option>
</select>
<?php } ?>
图中,select2 少了 apple
,但确实有 tomato
。
我已经检查了 $medi_arr[$i]
输出是否正确。
我正在添加一个示例代码,这样您就可以在您的代码中使用此代码来完成您想要的任务。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<select name="category" class="select2 select2-offscreen" id="category" style="width:100%" data-placeholder="Select Fields" tabindex="-1" multiple>
<option value="">Select Category</option>
<option value="1">Business</option>
<option value="7">Education</option>
<option value="5" selected="selected">Environment</option>
<option value="3" selected="selected">Health</option>
<option value="11">Movies</option>
<option value="4">Science</option>
<option value="2">Sports</option>
<option value="6">Tech</option>
<option value="10">Top Stories</option>
</select>
<script>
$("#category").select2();
</script>
终于开工了。
<?php if ($views['mb_medical']) {
$medi_arr = explode('|', $views['mb_medical']); ?>
<select class="medical_subject" name="mb_medical[]" id="mb_medical" multiple>
<option value="apple"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'apple') echo 'selected';} ?>>apple
</option>
<option value="tomato"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'tomato') echo 'selected';} ?>>tomato
</option>
<option value="banana"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'banana') echo 'selected';} ?>>banana
</option>
<option value="melon"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'melon') echo 'selected';} ?>>melon
</option>
</select>
我需要 select2 的 select 框中的多个值,但它 select 是最后一个。
我可以将 apple
、tomato
插入数据库,但在浏览器的 select2 中只显示 tomato
。
这是我的代码,它只 select 为 select 设置一个值,而不是多个。
<?php if ($views['mb_medical']) $medi_arr = explode('|', $views['mb_medical']);
for ($i = 0; $i < count($medi_arr); $i++) { ?>
<select class="medical_subject" name="mb_medical[]" id="mb_medical" multiple="multiple">
<option value="apple" <?php if($medi_arr[$i] == 'apple') echo 'selected'; ?>>apple</option>
<option value="tomato" <?php if($medi_arr[$i] == 'tomato') echo 'selected'; ?>>tomato</option>
<option value="banana" <?php if($medi_arr[$i] == 'banana') echo 'selected'; ?>>banana</option>
<option value="melon" <?php if($medi_arr[$i] == 'melon') echo 'selected'; ?>>melon</option>
</select>
<?php } ?>
图中,select2 少了 apple
,但确实有 tomato
。
我已经检查了 $medi_arr[$i]
输出是否正确。
我正在添加一个示例代码,这样您就可以在您的代码中使用此代码来完成您想要的任务。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<select name="category" class="select2 select2-offscreen" id="category" style="width:100%" data-placeholder="Select Fields" tabindex="-1" multiple>
<option value="">Select Category</option>
<option value="1">Business</option>
<option value="7">Education</option>
<option value="5" selected="selected">Environment</option>
<option value="3" selected="selected">Health</option>
<option value="11">Movies</option>
<option value="4">Science</option>
<option value="2">Sports</option>
<option value="6">Tech</option>
<option value="10">Top Stories</option>
</select>
<script>
$("#category").select2();
</script>
终于开工了。
<?php if ($views['mb_medical']) {
$medi_arr = explode('|', $views['mb_medical']); ?>
<select class="medical_subject" name="mb_medical[]" id="mb_medical" multiple>
<option value="apple"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'apple') echo 'selected';} ?>>apple
</option>
<option value="tomato"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'tomato') echo 'selected';} ?>>tomato
</option>
<option value="banana"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'banana') echo 'selected';} ?>>banana
</option>
<option value="melon"
<?php for ($i = 0; $i < count($medi_arr); $i++) {
if($medi_arr[$i] == 'melon') echo 'selected';} ?>>melon
</option>
</select>