如何使用 jquery 检查该值是否存在于带有标签的 select2 下拉列表中:true

How to check if the value exists in a select2 dropdown with tags: true using jquery?

本文关键字:select2 标签 下拉列表 true 于带 检查 jquery 何使用 存在 是否      更新时间:2023-09-26

请在下面找到我的 select2 下拉列表:

<select class="skill-select form-control" name="name" required="true" id="skill-name">
                  <option id="xxx"></option> <!-- Needed for select2 -->
                    <option value="33">good</option>
                    <option value="32">sdw</option>
                    <option value="18">PM</option>
                    <option value="17">TL</option>
                    <option value="ddddd" data-select2-tag="true">ddddd</option>
                    <option value="11" data-select2-tag="true">11</option>
              </select>

Javascript:

  $(".skill-select").select2({
    placeholder: 'Skill Name',
    tags: true
  });

如何访问下拉列表中存在的选项,不包括带有 data-select2-tag="true" 的选项。

在上面的例子中,我不想访问具有data-select2-tag="true"的选项"ddddd"和"11"??

目前我正在使用下面的 java 脚本,但这并不排除具有 data-select2-tag="true" 的选项"ddddd"和"11";

    var opt = $('#skill-name :selected').text();
    var valid;
    var length = $('#skill-name option').filter(function() {
          return $(this).text() === opt;
      }).length;
      if(length != 0){
        valid = false;
        return;
      } else {
        valid = true;
      } 

下面的脚本对我有用:

addSkill = function() {
    var opt = $('#skill-name :selected').text();
  var length = $('#skill-name option').not( "[data-select2-tag='true']").filter(function() {
                  return $(this).text() === opt;
                }).length;
  if(length != 0){
    valid = false;
    return;
  } else {
    valid = true;
  }