簡體   English   中英

編輯表單時如何顯示數據庫中的選定值?

[英]How to show selected values from database when edit the form?

我正在將 Select2 用於我的領域之一。 數據完美地插入到數據庫中。 但是當我想編輯表單時,我需要從數據庫中獲取數據。 我可以獲取數據,但我不知道如何在編輯表單時在 Select2 中顯示值。 這是我在數據庫中插入數據時的代碼。 表名是“requests”,存儲數組的列是“crimes_section”。

 <div class="form-group">
   <label>Crime Section / جرم</label>
     <select class="crimeSections form-control" name="crimeSection[]" multiple="multiple" style="border-radius: 0px;" placeholder="35201-4578979-0">
         <option value="AL">Alabama</option>
         <option value="WY">Wyoming</option>
      </select>
  </div>
<script type="text/javascript">
$(document).ready(function() {
   $('.crimeSections').select2({
   placeholder: "381, 392, 420"
   });
});
</script>

假設下面是從數據庫接收到的數據。

var data = [
    {
        id: 0,
        text: 'enhancement'
    },
    {
        id: 1,
        text: 'bug'
    },
    {
        id: 2,
        text: 'duplicate'
    },
    {
        id: 3,
        text: 'invalid'
    },
    {
        id: 4,
        text: 'wontfix'
    }
];

這是將數據填充到選擇框中的一種方法,通過觸發更改事件,您可以設置默認值。

$('#example').select2({
    data: data
}).val(1).trigger('change'); //This will set bug as selected value

您可以同時使用這兩個選項。 使用隱藏字段設置要從數據庫設置的值

$('#sel_users').val(value);
$('#sel_users').select2().trigger('change');

嘗試

Array.from(document.querySelector('.crimeSections').options).forEach(option=>{
if(option.value=="AL")
option.selected=true
});

編輯:用你想要匹配的值替換“AL”

這段代碼對我有用。

$(document).ready(function() {
    $('#selectedCrimes').select2({
    multiple: true,
    });
});

謝謝大家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM