嗨,我正在将php变量传递给twitter boostrap modal。但单击模式内的链接时,我无法获得正确的ID。请参见下面的代码。
首先,我创建了一个foreach函数,其中有数据循环,其次,我创建了一个链接,以显示模式3rd,我在模式内部有动作链接,用户可以在其中更新,删除数据。我已经实现的是,我可以将php的变量传递给模式操作,但是当我尝试传递给其他行时,它仍然显示相同的id。
<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>
。
您只需要一个模式框。我们将通过jQuery为它们传递id
。因此,在表末尾仅创建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
preg_replace排除<a href='''> </a> PHP - php我正在使用preg_replace来替换带有href标签的文本中的关键字,我的正则表达式工作非常好,现在我的代码是:$newstring2 = preg_replace("/\p{L}*?".preg_quote($match[$i])."\p{L}*/ui", "<a href='"…
如何在提交时关闭fancybox…需要帮助 - php当用户提交表单时,我真的需要关闭此弹出框(fancybox)...现在,它会在2秒后重定向到相同的表单(signup.php),但我想说的是“谢谢”消息,然后关闭框...<h1>SIGN UP</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.&…
代码未在服务器目录php中创建文件 - php我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…
CodeIgniter更新查询被执行两次 - php我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…
故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…