Javascript 渲染后显示选择器选择器
我在表单中有两个选择器元素,它们大约需要0.5秒来渲染。这对我来说很好,但在渲染它们之前,它们会弄乱我的html结构。因此,我只想在渲染后显示它们。 我的做法如下。我将所有selectpicker元素设置为display:none,并添加了以下javascript代码Javascript 渲染后显示选择器选择器,javascript,bootstrap-selectpicker,Javascript,Bootstrap Selectpicker,我在表单中有两个选择器元素,它们大约需要0.5秒来渲染。这对我来说很好,但在渲染它们之前,它们会弄乱我的html结构。因此,我只想在渲染后显示它们。 我的做法如下。我将所有selectpicker元素设置为display:none,并添加了以下javascript代码 $("#state_selection").selectpicker(); $("#country_selection").selectpicker(); document.getElementById('state_select
$("#state_selection").selectpicker();
$("#country_selection").selectpicker();
document.getElementById('state_selection_element').style.display = '';
document.getElementById('country_selection_element').style.display = '';
这基本上满足了我的要求。除两个问题外:
(1) 这是次优的,因为render命令强制窗体在页面加载后再次呈现。由于渲染大约需要0.5秒,因此这并不理想。应该有更好的办法
(2) 渲染以某种方式弄乱了我的反馈验证勾选框的位置。它现在在选择器选择器中显示反馈,而不是在其右侧
理想的解决方案是仅在初始页面呈现之后显示选择器选择器。。。你知道怎么做吗?我找到了解决办法
$('#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 = '';
});