Javascript 如何删除或禁用select2中的项目

Javascript 如何删除或禁用select2中的项目,javascript,jquery-select2,Javascript,Jquery Select2,嗨,当我的值(x)=1时,我想删除或禁用select2的第一项。我该怎么做? 谢谢 我假设您正在使用jQuery select2,并且您正在从myData创建select2元素 如果您的数据是真实性的来源,那么您可以通过这种方式使其保持更新,并在DOM中反映该状态(您所看到的) 使用.shift()。从数据数组中删除第一个元素 然后用新数据重新初始化select2元素。如下所示(完整工作代码如下): 您可以运行此命令以查看其工作情况。应用条件后,myData中只保留第二个数据项 如果这解决了您的

嗨,当我的
值(x)=1
时,我想删除或禁用select2的第一项。我该怎么做? 谢谢


我假设您正在使用jQuery select2,并且您正在从
myData
创建select2元素

如果您的数据是真实性的来源,那么您可以通过这种方式使其保持更新,并在DOM中反映该状态(您所看到的)

使用
.shift()
。从数据数组中删除第一个元素

然后用新数据重新初始化select2元素。如下所示(完整工作代码如下):

您可以运行此命令以查看其工作情况。应用条件后,myData中只保留第二个数据项

如果这解决了您的问题,请接受我的回答:)


$(文档).ready(函数(){
//资料
var myData=[
{
id:“id1”,
正文:“aaaaa”
},
{
id:“id2”,
正文:“bbbbb”
}
];
//您的select2元素已存在
$(“.select2”)。选择2({
数据:myData
});
//条件>采取措施选择2个元素的数据
如果(真){
//从数组中删除第一个数据项
myData.shift();
//清空select2元素的数据并重新初始化
$(“.select2”).empty();
$(“.select2”)。选择2({
数据:myData
});
}
});

我认为问题在于select2库,而不是本机select控件。
var myData= [
    {
        id: "id1",
        text: 'aaaaa'
    }, {
        id: "id2",
        text: 'bbbbb'
    }
            ];


var x=0;
if (x == '1') {
    $('.select2 option[value="' + myData[0]+ '"]').remove()
}
// 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
  });
}
<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()