我在下拉列表中添加了一个选项,允许用户添加项目(如果项目不存在)。
就此而言,我在下拉列表中添加了一个输入字段,但是当用户输入内容时,下拉列表会尝试将输入的文本与列表中已有的项目进行匹配。
在特定情况下,我觉得很烦人。我在docs注意到输入元素绑定到搜索功能。然而,我无法找到如何禁用此行为。
这是HTML:
<div class="ui fluid selection dropdown playlist">
<input name="playlist" type="hidden">
<i class="dropdown icon"></i>
<div class="default text">playlist</div>
<div class="menu">
<div class="item create" data-value="0">
<span class="create-placeholder">+ new playlist</span>
<div class="ui action input add-playlist">
<input placeholder="new playlist">
<button class="ui button">Add</button>
</div>
</div>
<div class="item" data-value="1">foo</div>
<div class="item" data-value="2">bar</div>
<div class="item" data-value="3">baz</div>
</div>
</div>
.add-playlist
div及其内容未显示,但我愿意在这里为您提供CSS。
和js:
$dropdown = $('.ui.dropdown');
$dropdown.dropdown({
action: (text, val) => {
if (val == 0) { // eslint-disable-line
$('.create-placeholder').hide(100);
$('.add-playlist').css('display', 'inline-flex');
$('.add-playlist input, .add-playlist button').show(200);
}
else $dropdown.dropdown('set selected', val).dropdown('hide');
},
onHide: () => {
// do that after dropdown has been hidden
setTimeout(() => {
$('.add-playlist, .add-playlist input, .add-playlist button').hide();
$('.create-placeholder').show();
}, 400);
}
});
我已设置fiddle以获得明确的例子。只需键入&#34; foo&#34;如果它不清楚,你会明白我的意思。
答案 0 :(得分:0)
要允许用户添加新项,只需添加allowAdditions: True
到下拉选项,有关更多信息,请参阅semantic-ui dropdown settings
示例:
$( 'dropdownSelector')。下拉({ allowAdditions:True })下拉();