该片段是我得到的,通过手动设置选择1 1,它工作。
但是我想以编程方式执行它,例如将包含["2", "3", "4"]
的字符串或数组传递给set selected: array
,或者我可以插入从ajax接收的数组的任何其他方式。
$('.ui.dropdown').dropdown('set selected', ["1", "2"]);

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.0/semantic.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.0/semantic.min.js"></script>
<select multiple class="ui dropdown" name="event">
<option value="">Select Service</option>
<option value="1">opt 1</option>
<option value="2">opt 2</option>
<option value="3">opt 3</option>
<option value="4">opt 4</option>
<option value="5">opt 5</option>
</select>
&#13;
我也尝试使用下面的远程内容,但selected
似乎不起作用。
json输出:
"success": true,
"results": [
{
"name" : "Choice 1",
"value" : "value1",
"selected" : true
}
阅读远程内容:
$('.ui.dropdown.state').dropdown({
apiSettings: {
url: '//api.semantic-ui.com/tags/{query}'
},
filterRemoteData: false
}); `
答案 0 :(得分:0)
解决了它。我的错误是我在ajax onload方法之外调用数组。通过在set selected
调用内调用循环内的onload
,解决了它。
selectedArray应包含目标选项的值。
for(var i=0, len=selectedArray.length; i <len; i++){
$('.ui.dropdown.state').dropdown('set selected', selectedArray[i]);
}