Codeigniter View с контроллером в View (с контроллером) при загрузке 2-го представления 1-е представление данных стирается
ВТОРОЙ ВИД
<script type="text/javascript">
var GlobalVariables = {
'csrfToken' : <?php echo json_encode($this->security->get_csrf_hash()); ?>,
'baseUrl' : <?php echo '"' . $base_url . '"'; ?>,
'dateFormat' : <?php echo json_encode($date_format); ?>,
'services' : <?php echo json_encode($services); ?>,
'categories' : <?php echo json_encode($categories); ?>,
'user' : {
'id' : <?php echo $user_id; ?>,
'email' : <?php echo '"' . $user_email . '"'; ?>,
'role_slug' : <?php echo '"' . $role_slug . '"'; ?>,
'privileges': <?php echo json_encode($privileges); ?>
}
};
$(document).ready(function() {
BackendServices.initialize(true);
});
</script>
<div>some contenent</div>
так что это мнение, которое я хотел бы интегрировать в это мнение
ПЕРВЫЙ ВИД
<script type="text/javascript">
var GlobalVariables = {
'csrfToken' : <?php echo json_encode($this->security->get_csrf_hash()); ?>,
'baseUrl' : <?php echo '"' . $base_url . '"'; ?>,
'dateFormat' : <?php echo json_encode($date_format); ?>,
'userSlug' : <?php echo '"' . $role_slug . '"'; ?>,
'settings' : {
'system' : <?php echo json_encode($system_settings); ?>,
'user' : <?php echo json_encode($user_settings); ?>
},
'user' : {
'id' : <?php echo $user_id; ?>,
'email' : <?php echo '"' . $user_email . '"'; ?>,
'role_slug' : <?php echo '"' . $role_slug . '"'; ?>,
'privileges': <?php echo json_encode($privileges); ?>
}
};
$(document).ready(function() {
BackendSettings.initialize(true);
});
</script>
<div>Sidebar..
...
<div id="#loading-view" > a tab in the side bar</div>
</div>
Я нашел похожий случай с моим, но их взгляды были без контроллера, я попробовал это в контроллере FIRST VIEW (вид, который имеет боковую панель)
$('.tab').click(function() {
$('#loading').load(GlobalVariables.baseUrl + '/index.php/backend/services');
но при загрузке второго представления в загрузочный div данные другой вкладки стираются или что-то в этом роде. Я знаю, что проблема в ajax-функции.ready(), потому что когда я читаю об этом, она загружает весь вид или что-то в этом роде, но когда я комментирую функцию ready () во ВТОРОМ ВИДЕ css apear без данных.
так, пожалуйста, у кого-нибудь была эта проблема?
1 ответ
JQuery element.load()
будет заменять содержимое элемента каждый раз. чтобы загрузить представление в родительском представлении, вам нужно загрузить его содержимое в дочерний div внутри родительского представления.
HTML
<div id="parentView">
<div id="childView"></div>
</div>
Javascript
$('.tab').click(function() {
$('#parentView').load(GlobalVariables.baseUrl + '/index.php/backend/services');
$('#childView').load(GlobalVariables.baseUrl + '/index.php/backend/services');
});