как поделиться переменной с модалом в twitter-bootstrap и jinja2? - PullRequest
0 голосов
/ 01 марта 2012

мой сценарий - Appengine / python / jinja / twitter-bootstrap и в этом коде ...

{% for VMS in VEP.vms_set %}
<tr>
    <td>{{VMS.des}}</td>
    ...
    <td>{% include 'butt_vms.html' %}</td>
</tr>
{% endfor %}

butt_vms.html

<div class="modal" id="delvms">
    <div class="modal-header">
        <h3>Warning!</h3>
    </div>
    <div class="modal-body">    
        <p>Are you sure?</p>
    </div>
    <div class="modal-footer">
        <a class="btn btn-danger" href="delete?item={{ VMS.key() }}">delete</a>
        <a class="btn" href="#" data-dismiss="modal">No</a>
    </div>
</div>

<div class="btn-group"> 
    <a class="btn" href="delete?item={{ VMS.key() }}"><i class="icon-trash"></i></a>
    <a class="btn" data-toggle="modal" href="#delvms"><i class="icon-trash"></i></a>
</div>​

... я не знаю, почему эти кнопки работают по-разному: первая удаляет связанную строку (это нормально), а вторая удаляет только и только первую строку в таблице. Предложения?

1 Ответ

2 голосов
/ 01 марта 2012

Ну, похоже, что каждый модал, добавленный на страницу, будет иметь одинаковый id="delvms".Исходя из этого, я также предполагаю, что ваши кнопки для показа / скрытия модалов не привязаны к конкретному модалу, поскольку они должны ссылаться на модал по его атрибуту id с атрибутом data-target или href на кнопке..

Модальный раздел Bootstrap здесь указывает, что вы можете использовать атрибут href или data-target для переключения модального режима, например: data-target="#myModalId" или href="#myModalId".

Итак, вам нужно создать атрибуты href / data-target и modal id кнопки во время выполнения, чтобы гарантировать, что каждая кнопка связана с правильным модальным.

PS - альтернатива добавлениюX количество модальных значений на странице будет означать добавление только одного модального значения и создание атрибута кнопки onclick во время выполнения для вызова пользовательской функции, которая устанавливает модальные данные в соответствии с кнопкой, по которой была нажата кнопка, и затем открывает модальное окно.Я пошел по этому пути, и это единственная причина, по которой я предлагаю его в качестве альтернативного (не обязательно лучшего) решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...