簡體   English   中英

我如何刪除或禁用select2中的項目

[英]How can i delete or disable items in select2

嗨,我想在我的value(x) = 1時刪除或禁用select2的第一項。 我怎樣才能做到這一點? 謝謝。

var myData= [
    {
        id: "id1",
        text: 'aaaaa'
    }, {
        id: "id2",
        text: 'bbbbb'
    }
            ];


var x=0;
if (x == '1') {
    $('.select2 option[value="' + myData[0]+ '"]').remove()
}

我假設您正在使用jQuery select2,並且正在從myData創建select2元素。

如果您的數據是事實的來源,則可以通過這種方式來使其保持最新狀態並在DOM中反映該狀態(您所看到的)。

使用.shift() 從數據數組中刪除第一個元素。

然后使用新數據重新初始化select2元素。 像這樣(下面的完整工作代碼):

// condition > do something to select2 element's data
if (true) {
  // remove first data item from array
  myData.shift();

  // empty select2 element's data and re-init
  $(".select2").empty();
  $(".select2").select2({
    data: myData
  });
}

您可以運行此程序以查看其是否正常運行。 應用條件后,僅保留myData中的第二個數據項。

如果這可以解決您的問題,請接受答案以讓我知道:)

 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script> <select class="select2"> </select> <script> $(document).ready(function() { // data var myData = [ { id: "id1", text: "aaaaa" }, { id: "id2", text: "bbbbb" } ]; // your select2 element already exists $(".select2").select2({ data: myData }); // condition > do something to select2 element's data if (true) { // remove first data item from array myData.shift(); // empty select2 element's data and re-init $(".select2").empty(); $(".select2").select2({ data: myData }); } }); </script> 

MDN開始 :shift()方法從數組中刪除第一個元素,然后返回刪除的元素。 此方法更改數組的長度。

<select name="carlist" form="carform">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

如果要從選擇選項中刪除沃爾沃,請使用此選項

$("select option[value='volvo']").remove()

暫無
暫無

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

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