渲染后显示选择标记

时间:2017-05-26 01:28:24

标签: javascript bootstrap-selectpicker

我在表单中有几个selectpicker元素,渲染时间约为0.5秒。这对我很好,但是在它们被渲染之前它们会弄乱我的html结构。所以我想只在渲染后才显示它们。 我的方法如下。我将所有selectpicker元素设置为display:none并添加以下javascript代码

$("#state_selection").selectpicker();
$("#country_selection").selectpicker();
document.getElementById('state_selection_element').style.display = '';
document.getElementById('country_selection_element').style.display = '';

这基本上做了我想要的。除了两个问题:

(1)它不是最理想的,因为渲染命令强制窗体在页面加载后再次渲染。由于渲染大约需要0.5秒,因此不理想。应该有更好的方法

(2)渲染以某种方式弄乱了我的反馈验证复选框的位置。它现在显示selectpicker中的反馈,而不是右边的反馈。

理想的解决方案是仅在初始页面渲染后显示selectpicker ...任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

$('#state_selection').on('rendered.bs.select', function (e) {
    document.getElementById('state_selection_element').style.display = '';
});
$('#country_selection').on('rendered.bs.select', function (e) {
    document.getElementById('country_selection_element').style.display = '';
});
相关问题