语义UI:如何在多选下拉列表中取消添加标签

时间:2016-05-15 08:23:38

标签: javascript semantic-ui

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

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

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:2)

我遇到了和你描述的一样的问题。相反,您可以覆盖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>