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 はページごとに 1 回だけ存在する必要があるため、これが問題の原因です。

クラスは、複数回出現するアイテム (再利用可能なアイテム) に使用されます。

id="modal-1" のような一意のID をモーダルにも割り当てることをお勧めします。1 は $row->id; からの ID です。

このようにして、クラスを介して各モーダルに簡単にアクセスできますが、ID によって一意に識別できます。

http://jsfiddle.net/Z7vHT/1/これで問題が解決するはずです。

于 2012-09-24T10:57:20.987 に答える