奇怪的Ajax问题

时间:2011-06-15 05:28:28

标签: jquery ajax codeigniter

我正在使用jQuery AJAX将数据发送到控制器。然后,该数据用于对记录进行分级以便从DB进行编辑。如果请求它将数据从db加载到模态窗口进行编辑。数据在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
            });
        });

});

两个菜单页面之间的唯一区别是edit_link URI的第3段。一个是wsrmenuitems,一切都在该页面上运行。另一个是寿司,这是它只适用于foreach循环中的第一个项目。 ajax请求运行但我没有从db获得任何回复。所以我得到了一堆试图得到非对象错误的属性。

0 个答案:

没有答案