2016-04-25 10 views
1

请在下面找到我的选择2下拉:如何检查值是否存在于具有标签的select2下拉菜单中:true使用jquery?

<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 
    }); 

如何访问排除与数据选择2标签=“真”的选项出现在我的下拉选项。

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

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

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; 
     } 
+1

您是否尝试过的属性不等于选择? https://api.jquery.com/attribute-not-equal-selector/ –

+0

谢谢你的工作 – user2077648

回答

1

下面的脚本为我工作:

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; 
    } 
相关问题