Привет, я передаю переменную php в twitter boostrap modal. но я не могу получить правильный идентификатор, когда я нажимаю ссылку внутри модального. см. код ниже. сначала я создал функцию foreach, где второй цикл данных. Я создал ссылку, чтобы показать модальную третью ссылку на действия внутри модальности, где пользователь может обновлять, удалять данные. то, что я уже достиг, заключается в том, что я могу передать переменную php, идущую на модальные действия, но когда я пытаюсь использовать другие строки, она все еще показывает один и тот же идентификатор.
<table class="table table-condensed table-bordered table-striped volumes"> <thead> <tr> <th>ID</th> <th>Director</th> <th>Address</th> </tr> </thead> <tbody> <?php foreach ($natcco_members as $nattco) { $id = $nattco['id']; echo "<tr> <td>".++$counter."</td> <td>".$nattco['director']."</td> <td><a href='#' class='b'>".$nattco['agent_name']."</a></td> <td>".$nattco['address']."</td> </td>"; ?> <!-- Modal HTML --> <div id="myModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Choose your actions!</h4> </div> <div class="modal-body" align="center"> <a href='update_sub_agent.php?id=<?php echo urlencode(htmlspecialchars($id)) ?>' class='btn btn-success'><i class='icon-pencil'></i> Edit</a> <a href='owner.php?id=".urlencode(htmlspecialchars($id))."' class='btn btn-info'><i class='icon-user'></i> Owner</a> <a href='fla.php?id=".urlencode(htmlspecialchars($id))."' class='btn btn-warning'><i class='icon-list-alt'></i> FLA</a> <a href='delete.php?id=".urlencode(htmlspecialchars($id))."' class='btn btn-danger'><i class='icon-remove'></i> Delete</a> </div> <div class="modal-footer"> </div> </div> </div> </div> <?php "</tr>"; } } ?> </tbody> </table>
Я внесла некоторые изменения в ваш код, давайте начнем с того, что вы делали первым:
<td>".$nattco['address']."</td> </td>";
Это должно быть </tr>
вместо </td>
.
Вам нужен только один модальный ящик. Мы передадим id
для них через jQuery. Поэтому создайте только 1 статический модальный блок в конце таблицы.
Теперь то, что вам нужно сделать:
1) Используйте этот $id = $nattco['id'];
как ваш <tr id>
так это будет:
$id = $nattco['id']; echo "<tr id='".urlencode(htmlspecialchars($id))."'> #...rest of your code
2) Дайте класс для ваших кнопок в модальном поле:
<a href='update_sub_agent.php' class='btn btn-success edit'><i class='icon-pencil'></i> Edit</a> <!-- ^edit class added --> <a href='owner.php' class='btn btn-info owner'><i class='icon-user'></i> Owner</a> <!-- ^owner class added --> <a href='fla.php' class='btn btn-warning fla'><i class='icon-list-alt'></i> FLA</a> <!-- ^fla class added --> <a href='delete.php' class='btn btn-danger delete'><i class='icon-remove'></i> Delete</a> <!-- ^delete class added -->
3) Добавьте href
и class to your
тег:
`<td><a href='#myModal' class='b modal-box'>".$nattco['agent_name']."</a></td>`
И, наконец, бит jQuery:
$('a.modal-box').click(function(e){ id=$(this).closest('tr').attr('id'); $('.modal-body .edit').attr('href','update_sub_agent.php?id='+id+''); $('.modal-body .owner').attr('href','owner.php.php?id='+id+''); $('.modal-body .fla').attr('href','fla.php?id='+id+''); $('.modal-body .delete').attr('href','delete.php?id='+id+''); });
Это все. Это сводит к минимуму ваш код, так что модальная коробка не повторяется при динамическом прохождении id
щелкнутой строки.
Вы можете посмотреть демо здесь:
DEMO