0

我正在使用 CodeIgniter 显示数据库中的项目列表。我想根据它的 ID 删除一个项目。这不是问题,并且在没有模态框的情况下可以正常工作。

我的问题是我正在使用一个名为reveal(http://goo.gl/3lzRN)的jQuery插件来添加一个模式框来确认删除。这适用于列表中的第一项,但其他项与第一项具有相同的 ID。

<a href="pages/<?php echo $row->id; ?>" class="delete">
    <i class="icon-cancel"></i><span class="delete_tooltip">delete page</span>
</a>

<aside id="modal">
    <header id="delete_page">Delete Page</header>
    <article id="modal_content">
        <p>
        Are you sure you want to delete the page<br />'<?php echo $row->title ?>'?
        </p>

        <p>This action cannot be undone.</p>

        <p>
        <a href="pages/delete_page/<?php echo $row->id; ?>" >
            <i class="icon-cancel"></i>Delete
        </a> <a href="pages/#" class="modal_cancel">Cancel</a> 
        </p>
    </article>
</aside>

上面是打开模态框的链接,以及里面的内容。这些在 foreach 循环中,但我知道循环工作正常,我没有发布它。

4

2 回答 2

0

您不能对页面上的多个元素使用相同的 ID。ID 是唯一标识符,因此大多数浏览器只会考虑第一个元素,而其他浏览器会返回意外值。

您应该为那些具有相同功能的元素使用类,

于 2012-09-24T10:38:25.163 回答
0

您应该使用类而不是 ID。ID 应该每页只出现一次,因此这就是导致您的问题的原因。

类用于出现多次的项目(可重复使用的项目)。

我建议也为模式分配一个唯一的id,比如 id="modal-1" 其中 1 是来自 $row->id; 的 ID;

这样,您的每个模态都可以通过类轻松访问,但可以通过它们的 ID 唯一标识。

http://jsfiddle.net/Z7vHT/1/这应该可以解决您的问题。

于 2012-09-24T10:57:20.987 回答