我在多种模式下使用http://harvesthq.github.io/chosen/,并且在提交后似乎没有更新。我得到的只是一个空白输入框,在下拉列表中,我刚提交的条目仍然存在。我知道由于json返回,条目已提交。如果我刷新页面,该条目不再在下拉列表中,我使用的默认值就在那里。我的编码在哪里出错了。
非常感谢
$("#box_rtv").val('Choose a box...').trigger("chosen:updated");
<select data-placeholder="Choose a box..." class="chosen-select required" multiple="multiple" style="width:250px;" name="box_rtv[]" id="box_rtv">
答案 0 :(得分:1)
首先,您使用代码在字符串上触发事件,因为.val()
返回一个字符串。在链接时尝试单独执行或以不同顺序执行:
$("#box_rtv").trigger("chosen:updated").val('Choose a box...');
(实际上,您可能根本不需要致电.val()
。)
如果这不起作用,请尝试在触发chosen:updated
之前以编程方式取消选择所有选项:
$("#box_rtv > option").prop('selected', false);
$("#box_rtv").trigger("chosen:updated");
答案 1 :(得分:1)
您拨打.trigger()
的方式是错误的。
$("#box_rtv").val('Choose a box...').trigger("chosen:updated"); //WRONG
而不是
将所有值附加到select
后,只需触发如下所述
$("#box_rtv").trigger("chosen:updated");
答案 2 :(得分:1)
如果您按此顺序删除并选择这些操作:
$('#user_id').val(''); // to clean the select ( otherwise not refreshing correctly )
$("#user_id option[value='okmAdmin']").remove(); // remove some option element
$('#user_id').trigger("chosen:updated"); //