6

ユーザーがデータを削除するたびに、削除確認ダイアログを表示する素敵なモーダルがあります。問題は、私のビューの多くがテンプレート内の要素のリストをレンダリングし、各要素にその詳細と小さな赤い削除ボタンがあることです。もちろん、django では、ビューは要素のリスト (クライアントのリストなど) をテンプレートに渡し、次のようなテーブルにレンダリングされます。

<table class="table table-striped">  
    <thead>  
      <tr>
        <th>Email</th>
      </tr>  
    </thead>  
    <tbody>
      {% for client in clientes %}
        <tr>  
          <td>{{ client.email }}</td>
          <td>
            <div class="btn-group">
              <!-- Delete button -->
              <a href="#myModal" class="btn btn-danger btn-mini" title="Eliminar">
                <i class="icon-trash icon-white"></i></a>
            </div>
          </td>
        </tr> 
      {% endfor %}
    </tbody>  

ユーザーが削除ボタンを押すたびにBootstrapモーダルが表示され、データを削除していることを確認したいと思います。これで、モーダルを表示してユーザーを削除することができましたが、正しいユーザーではなく、何らかの形でモーダルを取得するか、リストの最初のユーザーを削除しようとしています。次のリンクでモーダルを使用してテンプレート全体を確認できます: FULL HTML

最後に、私の問題は、クライアントのリストの最初のものではなく、正しい {{ client }} をモーダルに渡すことに何とか関連しています。これは、 for で最初に宣言されたモーダルが原因で発生すると想定しています。もう宣言しないでください。

たとえば、テーブルに 3 つのクライアントがあります。

client1@something.com         detele-button
client2@something.com         detele-button
client3@something.com         detele-button

どのクライアントの削除ボタンを押しても、常にclient1データのモーダルが表示され、削除の確認を押すと実際に削除されます。

ありがとうございました。

edit1: href は問題ありませんでした。

4

2 に答える 2

9

実際、keithxm23 のおかげで、これに対する答えが見つかりました。

生成された HTML を確認すると、これを正しく理解するのに役立ちました。実際には、すべてのモーダルが正しく生成されていました。問題は、すべてのモーダルの id プロパティが同じに設定されていたことです。この場合id="myModal"は であり、削除ボタンには がありましたhref="#myModal"。解決策は、 modal id プロパティをドキュメント全体で一意の値に設定することでした. modalid="{{client.pk}}"と button を設定することでそれを行うことができhref="#{{client.pk}}"ました.

于 2012-11-05T17:07:32.287 に答える