我正在使用选择的插件从数据库加载的数据中选择多个项目。这是保存的,然后我可能想再次加载这些选择(实际上是整个表单)来编辑它,并保存更改。
我可以成功地从选择组件中读取各种选择,如下所示:
$("#meet_participants").chosen().val();
但是,如果我想设置多个选择,我正在尝试这个测试用例:
HTML 代码:
<div class="row">
<div class="form-group">
<label class="control-label">Participantes</label><br>
<b>
<select data-placeholder="Ingrese los nombres" class="chosen-select form-control" style="width:60%" multiple id="meet_participants">
<!--Filled with all db users.-->
<option>hola</option>
<option>mundo</option>
<option>cruel</option>
<option>como</option>
<option>estas</option>
</select>
</b>
<button class="btn btn-primary"><b>Tareas pendientes</b></button>
</div> <!--formgroup-->
</div> <!--row-->
之后我会这样做(按照示例)
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/plugins/jquery-1.11.1.min.js"></script>
<script src="js/plugins/bootstrap.min.js"></script>
<script src="js/plugins/chosen.jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var config = {
'.chosen-select' : {},
'.chosen-select-deselect' : {allow_single_deselect:true},
'.chosen-select-no-single' : {disable_search_threshold:10},
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
</script>
<script>
fillMemoForm();
$("#meet_participants").chosen().val(["hola", "mundo", "cruel"]);
</script>
只有最后一行很重要,但我粘贴了所有内容以防万一。据我了解,这应该将选定的值设置为这三个项目,但事实并非如此。我做错了什么?
最佳答案
一个更好的解决方案是,而不是销毁并重新创建 dom 元素
$('#meet_participants').val(["hola","mundo","cruel"]).trigger('chosen:updated');
关于jquery - 使用 jquery selected 插件设置多个选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26629710/