刷新页面删除引导选择样式

Nyl*_*san 5 javascript css jquery select twitter-bootstrap

我正在使用 bootstrap-select,我是前端新手。我正在尝试在我的页面中实现引导程序的多选组件,但我面临的问题是,当我将我的页面提交到服务器并且如果发生错误时,它会从选择框中删除所有 css 类并只显示一个多- 选择列表而不是原始组件。我正在使用的组件是This,以下是我尝试使用此组件的 jsp 代码。

<spring:bind path="userClients">
   <div id="customerSelect" class="${status.error ? 'has-error' : ''}" style="margin-top:20px; margin-bottom:15px height:30px">
       <form:select  class="selectpicker form-control"  path="userClients" multiple="multiple" name="userClients">
            <c:forEach var="clientInfo" items="${clients}">
               <form:option value="${clientInfo.env}">${clientInfo.env}</form:option>
            </c:forEach>
        </form:select>
        <div class="${status.error ? 'has-error' : ''}">
        <form:errors  path="userClients" ></form:errors>
        </div>
   </div>
   </spring:bind>
Run Code Online (Sandbox Code Playgroud)

以下是我的 pageOnLoad 代码块:

 $(document).ready(function() {
     $('select').selectpicker();
 });
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。谢谢

Oma*_*hir 2

我认为刷新时,CSS 类将从组件中删除,从而使其成为一个简单的多选列表。尝试添加一个 id 来选择组件,例如 id="select-picker",然后使用此 id 的引用强制渲染,如下所示:

$(document).ready(function() {
    $('#select-picker').selectpicker('render');
} 
Run Code Online (Sandbox Code Playgroud)

或者,如果您要提交表单,请确保也在提交函数内部调用此渲染函数,以确保正确地重新渲染组件。