选择的插件不会更新动态内容

时间:2014-05-07 10:33:18

标签: jquery jquery-chosen

我在多种模式下使用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">

3 个答案:

答案 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"); //