【问题标题】:bootstrap multiselect when reloading page in ajax Intermittent在ajax间歇性中重新加载页面时引导多选
【发布时间】:2016-06-20 19:51:20
【问题描述】:

我正在用 ajax 加载一个页面,其中包含一个带有引导多选的表单。在我的 ajax 完成中,我在 ajax 中重新加载页面以应用更改。完成此操作后,多选不再起作用。每当我单击它时,它都不会展开(没有 js 错误)。如果我再次提交表单,它工作正常。实际上它的工作时间正好是一半,如果它没有扩展,下次我通过 ajax 刷新页面(从任何地方,不仅仅是提交)它就会工作。

到目前为止,我尝试在重新绑定之前重建和销毁它,但它似乎没有改变任何东西。

<select multiple name="showhide" id="showhide_select">
     <option value="uid">uid</option>
     <option value="name">name</option>
     <option value="age">age</option>
</select>

<script>
    $("#showhide_select").multiselect({
        buttonText: function(options, select) {
            if (options.length === 0) {
                return 'Select columns to hide';
            }
            else{
                return options.length + ' columns hidden';
            }
        }
    });
</script>

编辑: 引导 3.3.6,jquery 2.2.4

【问题讨论】:

    标签: jquery ajax twitter-bootstrap multiple-select


    【解决方案1】:

    检查您是否在这样的页面相关事件中初始化多选:

    <script type="text/javascript">
    $(document).ready(function() {
        $('#example-getting-started').multiselect();
    });
    

    如果是这样,那么您需要在完成 ajax 请求后再次调用您的初始化脚本

    【讨论】:

    • 它正在初始化,我可以看到inspector中添加的所有html和css。但它只能点击两次。即使我在 document.ready 中初始化它。当我无法展开它并单击选择时:“aria-expanded”保持为假,并且“open”类由于某种原因从未添加到父
      中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多