Javascript 从select2 with ng model指令中删除空选项

Javascript 从select2 with ng model指令中删除空选项,javascript,jquery,angularjs,jquery-select2,select2,Javascript,Jquery,Angularjs,Jquery Select2,Select2,我的select2中有2个空选项:1我添加到html以使占位符工作,1我不知道它从何处出现 如何通过jquery删除空选项? 困难在于我无法从select的下拉列表中获取div来检查div的text()是否为空,因为它在div中也是span 空div的示例: <li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted" role="presentation"&g

我的select2中有2个空选项:1我添加到html以使占位符工作,1我不知道它从何处出现

如何通过jquery删除空选项? 困难在于我无法从select的下拉列表中获取div来检查div的text()是否为空,因为它在div中也是span

空div的示例:

<li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted" role="presentation">
  <div class="select2-result-label" id="select2-result-label-12" role="option">
    <span class="select2-match"></span>
  </div>
</li>
  • 已填充分区的示例:

    <li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted" role="presentation">
      <div class="select2-result-label" id="select2-result-label-12" role="option">
        <span class="select2-match"></span>
        "Text1"
      </div>
    </li>
    
  • “文本1”
  • 下面是pluner来演示我的问题(在我真正的html中,我只有一个空选项):

    使用该功能仅选择空选项,然后使用


    之所以会出现这种情况,是因为在options.js脚本中添加了新的三个选项,其中包含文本:“Text1、Text2、Text3”。 如果删除此代码,那么它将在html中包含三个空选项。 此外,如果您将空添加到“选择空”选项中,您将看到它们。 如果选择像这样用数据填充,您将看到三个带有数据和占位符的选项:

        <select id="select", multiple="true">
          <option value="one">One</option>
          <option value="two">Two</option>
          <option value="three">Three</option>
        </select>
    
    
    一个
    两个
    三
    

    您可以在

    我不习惯plnkr,因此如果您无法检查链接或文件,请让我知道我会将文件发送给您


    我在你的js文件中做了一些更改,希望这能对你有所帮助。

    如果我的空选项有值但没有文本,过滤函数会是什么样子?这将删除所有没有值或没有文本的选项元素。你的回答部分地让我感到惊讶。但它不会删除我选择这些选项后出现的选项。所以这个操作出现了:或者可能是select2问题?嗯,我不明白你的意思,你能把它放在plnkr或JSFIDLE中吗?我很困惑,我解决了我的问题。所以我需要使用ng选项添加选项。在我使用.append()之前。添加了一个空选项,在值中显示我选择的选项?
        <select id="select", multiple="true">
          <option value="one">One</option>
          <option value="two">Two</option>
          <option value="three">Three</option>
        </select>