我有两个页面,每个页面有3个标签。一页用于查看,另一页用于编辑。
当我从视图页面单击选项卡2并按“编辑”按钮时,我希望重定向到“编辑”页面中的选项卡2。同样,对于其他标签也是如此。从视图中选项卡1将我带到编辑中的选项卡1,从视图中选项卡3将我带到编辑中的选项卡3。
所以我想做的是,从3个选项卡中获取活动选项卡,获取href值,存储href值,以便我可以在同一页面中将其用作php变量(或任何其他方式)并传递它在按钮链接上正确重定向。
我正在使用Bootstrap和Codeigniter。
从活动标签中提取href;我发现了这个:
$('.nav-tabs .active > a').attr('href')
这将为我提供相关的href名称,如tab1,tab2,tab3:
<li class="active"><a href="#tab1" data-toggle="tab">Tab 1</a></li>
<li><a href="#tab2" data-toggle="tab">Tab 2</a></li>
<li><a href="#tab3" data-toggle="tab">Tab 3</a></li>
我的PHP代码中有一行代码:
<a href="<?= site_url('backend/edit/'. $uid . '<GET THE ACTIVE TAB HREF VALUE HERE>') ?>">Edit</a>
我如何实现这一目标?
答案 0 :(得分:1)
您必须稍微更改链接,例如:
expected = {
'id': 1,
'name': ...,
...,
'items': [{
'id': ..,
'url': ...,
}]
}
单击选项卡时添加此项,其中:
<a id="EditLink" href="<?= site_url('backend/edit/'. $uid) ?>">Edit</a>
使用函数var tabValue = $(".nav-tabs .active > a").attr("href");
var url = $("#EditLink").attr("href");
$("#EditLink").attr("href", AppendToUrl(url, "tab", tabValue));
:
AppendToUrl
答案 1 :(得分:0)
你做不到。活动选项卡是客户端,PHP是服务器端。您最终可以使用javascript发送AJAX查询:
$.ajax({
method: "POST",
url: "some.php",
data: { active_tab_id: jquery_function_returning_id() }
})
.done(function( url ) {
$("#id_of_element_u_want_inject_href").attr("href", url)
});
Some.php:
<?php
$data = $_POST['data'];
echo site_url('backend/edit/'. $uid . $data['active_tab_id']);
session_start();
$_SESSION['variable']=$data['active_tab_id'];
?>
您应该能够在会话中访问数据。
最好是完整的JavaScript解决方案:)
答案 2 :(得分:0)
通过向下传递uid而不是选择的选项卡来处理这个问题。
像这样。
var uid = <?PHP echo $uid; ?>;
function getHref() {
var selTab = $('.nav-tabs .active > a').attr('href');
var retHref = 'backend/edit/' + uid + selTab;
return retHref
}
可能需要一个PHP脚本来将其转换为site_url()无论做什么,但这很容易。
答案 3 :(得分:-1)
你应该实现这个机智javasvript ... 单击选项卡时获取其ID,然后为任何元素设置所需的href ...