Я использую jQuery AJAX для отправки данных на контроллер.Эти данные затем используются для градации записи для редактирования из БД.По запросу он загружает данные из БД в модальное окно для редактирования.Данные записываются на страницу в цикле foreach следующим образом:
<?php if(sizeof($menu)) : ?>
<?php foreach($menu as $item): ?>
<div class="menu_item grid_7">
<div class="menu_item_top grid_7">
<h3><?php echo $item->name; ?></h3>
</div><!-- menu_item_top -->
<p class="menu_item_text">
<?php echo $item->description; ?>
</p>
<p class="price"><?php echo '$'.$item->price; ?></p>
<?php if(isset($this->session->userdata['is_admin'])):?>
<div class="menu_item_admin grid_6">
<a class="edit_link" href="/admin/edit/wsrmenuitems/<?php echo $item->id;?>">Edit</a>
<a class="admin_Link" href="/admin/delete/<?php echo $item->id;?>">Delete</a>
<a class="logout" href="/login/logout/">Log Out</a>
</div><!-- end menu_item_admin -->
<?php endif;?>
</div><!-- end menu_item -->
<?php endforeach;?>
<?php else : ?>
<h2>No results to display</h2>
<?php endif; ?>
Так что, естественно, все одинаково.Это прекрасно работает на одной странице, но когда на другой странице загружается другое меню, jQuery работает только для первого элемента в цикле foreach.Вот jQuery:
$('.edit-form-portlet').hide();
$('.edit_link').live("click",function(eve){
eve.preventDefault();
data = $(this).attr('href');
$.get(data, function(data) {
$('.edit-form-portlet').html(data);
$('.edit-form-portlet').dialog({
height:600,
width: 600,
modal: true
});
});
});
Единственная разница между двумя страницами меню - это 3-й сегмент URI edit_link.Один идет на wsrmenuitems и все работает на этой странице.Другой относится к суши, и здесь он работает только с самым первым элементом в цикле foreach.Запрос ajax выполняется, но я ничего не получаю от БД.Так что я получаю кучу попыток получить свойство ошибок не-объекта.