2016-05-15 57 views
0

我必须检查正在选择的值,并且在某些情况下不允许添加。我试过这个,但在添加接缝之前实际添加:语义UI:如何取消在多选下拉列表中添加标签

$dependenciesDropdown.dropdown({ 
    onAdd: function(addedValue, addedText, $addedChoice){ 
     if(<some special case>){ 
      $dependenciesDropdown.dropdown('remove selected', addedValue); 
     } 
    } 
}); 

任何想法?谢谢。

回答

2

我遇到了与您所描述的相同的问题。相反,您可以覆盖选择操作来评估您的特殊情况,并确定在添加到UI之前允许哪些选项。

了解更多:Specifying select action

例子:

$(function() { 
 
    $('select').dropdown({ 
 
    action: function(text, value) { 
 
     if (value != '3') { 
 
     $('select').dropdown('set selected', value); 
 
     } 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.1.8/semantic.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.1.8/semantic.min.css" rel="stylesheet" /> 
 

 
<select multiple="" class="ui dropdown"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three (disabled)</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select>

+0

这就是我所需要的。非常感谢。你是否将'onAdd'行为报告为错误? –

+0

好东西。直到我开始回答这个问题时,我才体会到它。 –