Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 渲染后显示选择器选择器_Javascript_Bootstrap Selectpicker - Fatal编程技术网

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

我在表单中有两个选择器元素,它们大约需要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) 这是次优的,因为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 = '';
});