重置表单后,不会重置select2元素的文本

时间:2016-12-02 12:01:36

标签: jquery-select2 select2 adminlte

我的jsp页面中有一个select2元素:

<div class="box-body">
   <form class="form-horizontal" id="frm">
    <div class="form-group">
      <label class="col-sm-4 control-label">${header_action}</label>
      <div class="col-sm-4">
        <select class="form-control select2" id="menu_code" style="width: 100%;">
            <option value="">${select_action}</option>
            <c:forEach items="${actions}" var="action">
            <option value="${action.id}">${action.lib}</option>
            </c:forEach>
        </select>
      </div>
    </form>
</div>
...
<div class="box-footer">
    <input class="btn btn-primary btn-sm" id="sauver" type="button"/>
    <input class="btn btn-default btn-sm" id="clear" type="button"/>
</div>

<script type="text/javascript">

    $(function() {

        ...

        $("#menu_code").select2();

        $("#clear").on("click",function(){
            $("#results").html("").removeClass("box");
            $("#frm")[0].reset();
        });

    });

</script>

在运行时选择select2元素中的选项然后单击#clear按钮,然后select2列表框的文本不会重置,但其值将被重置!那么如何重置其文本?

1 个答案:

答案 0 :(得分:1)

您还必须在选择框中触发一个名为change的方法:

 $("#frm")[0].reset();
 $("#menu_code").trigger("change");