我正在使用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循环中,但正如我所知,循环工作正常,我还没有发布它。
答案 0 :(得分:0)
您不能在页面上为多个元素使用相同的ID。 ID是唯一标识符,因此大多数浏览器仅考虑第一个元素,而其他浏览器将返回意外值。
您应该为那些具有相同功能的元素使用类
答案 1 :(得分:0)
您应该使用类而不是ID。 ID应该每页只出现一次,因此这就是造成问题的原因。
类用于多次出现的项目(可重复使用的项目)。
我建议同时为模式分配唯一 ID,例如id =“modal-1”,其中1是来自$ row-&gt; id的ID;
这样,您可以轻松地通过班级访问每个模态,但可以通过其ID唯一标识。
http://jsfiddle.net/Z7vHT/1/这应该可以解决您的问题。