Semantic UI: 如何在 multi-select 下拉列表中取消添加标签

Semantic UI: How to cancel the addition of label in multi-select dropdown

我必须检查正在选择的值,在某些情况下,不允许添加。我试过这个但是 onAdd 接缝在实际添加之前触发:

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

有什么想法吗?谢谢

我遇到了与您描述的相同的问题。相反,您可以覆盖 select 操作来评估您的特殊情况,并在将它们添加到 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>