2017-05-26 2 views
0

フォームにselectpicker要素が2つあり、描画に約0.5秒かかります。これは私にとっては問題ありませんが、レンダリングされるまではHTML構造が崩れてしまいます。だから私は彼らがレンダリングされた後にだけ彼らを見せたいです。 私のアプローチは以下の通りです。すべてのselectpicker要素をdisplay:noneに設定し、次のjavascriptコードを追加しました。レンダリング後にselectpickerを表示します。

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

これは基本的に私が望んだことでした。 2つの問題を除く:

(1)renderコマンドは、ページが読み込まれた後にフォームを再度レンダリングするため、最適ではありません。レンダリングには約0.5秒かかるので理想的ではありません。

(2)レンダリングは、どういうわけか私のフィードバック検証チェックボックスの位置を乱しています。これで、右の代わりに選択ピッカー内のフィードバックが表示されます。

理想的な解決方法は、最初のページのレンダリング後にのみ、選択ピッカーを表示することです。これを行うにはどうすればよいですか?

答えて

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 = ''; 
}); 
関連する問題