Jquery CodeIgniter在循环中只执行JS一次

Jquery CodeIgniter在循环中只执行JS一次,jquery,codeigniter,foreach,modal-dialog,Jquery,Codeigniter,Foreach,Modal Dialog,我正在使用CodeIgniter显示数据库中的项目列表。我想根据项目的ID删除项目。这不是问题,没有模式框也可以正常工作 我的问题是我正在使用一个名为reveal的jQuery插件(http://goo.gl/3lzRN)添加模式框以确认删除。这适用于列表中的第一项,但其他项的ID与第一项相同 <a href="pages/<?php echo $row->id; ?>" class="delete"> <i class="icon-cancel"&g

我正在使用CodeIgniter显示数据库中的项目列表。我想根据项目的ID删除项目。这不是问题,没有模式框也可以正常工作

我的问题是我正在使用一个名为reveal的jQuery插件(http://goo.gl/3lzRN)添加模式框以确认删除。这适用于列表中的第一项,但其他项的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循环中,但据我所知,循环运行良好,我还没有发布它

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


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

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

类用于多次出现的项(可重用项)

我还建议为modals分配一个唯一的id,类似于id=“modal-1”,其中1是$row->id中的id

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


这将解决您的问题。

使用类而不是ID?该死的,现在我觉得自己很愚蠢。谢谢你,大卫。虽然现在它装载了所有的箱子。我应该提到,我对Jquery或JS不太了解。仍然使用类,但根据特定ID(每个ID都是唯一的)找到要激活的正确类,因此它可能类似于:ID=“modal-1”,其中1是$row->ID。。。这样你就不应该得到任何重复:-)如果你想得到进一步的帮助,把它放在JSFIDLE中,我会看看我能做什么。@David也许你可以把你的评论转换成答案,这样提问者就可以接受了?谢谢David,这就是我的HTML(减去动态生成的ID和标题)和调用插件的JS。我意识到这一点,这个插件可以在上面的David上使用,这是你有时会忽略的事情之一…也谢谢你。我现在唯一的问题是,当我只单击其中一个链接时,它会加载所有模式框。我不太了解jQuery或JS。您可能需要更新您的模态框类,并为每个框指定一个特殊的类-例如
等。不幸的是,这不起作用。现在什么也没发生。没有出现任何框。这个插件似乎不太好用。你是对的,我错过了一个。你是个明星。非常感谢你@亚历克斯麦卡布-我想这是它工作的屏幕截图吧?;-)