Php 重定向回Laravel中的特定选项卡窗格
我有一个包含5个选项卡的索引视图。当我点击硬件选项卡时,我看到的就是这个 当单击create时,我启动此模式 我一提交,就收到了警报通知,一切正常 但它告诉我我的第一张账单。 如何重定向回第二个选项卡Php 重定向回Laravel中的特定选项卡窗格,php,laravel,redirect,laravel-5,laravel-5.1,Php,Laravel,Redirect,Laravel 5,Laravel 5.1,我有一个包含5个选项卡的索引视图。当我点击硬件选项卡时,我看到的就是这个 当单击create时,我启动此模式 我一提交,就收到了警报通知,一切正常 但它告诉我我的第一张账单。 如何重定向回第二个选项卡 存储功能 Tab.blade.php @包括('account.show.details') @包括('account.show.hardware') @包括('account.show.access方法') @包括('account.show.linked networ
存储功能
Tab.blade.php
@包括('account.show.details')
@包括('account.show.hardware')
@包括('account.show.access方法')
@包括('account.show.linked networks')
@包括('account.show.options')
只要在URL中使用哈希,这样做更容易:
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ;
}
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
window.location.hash = e.target.hash;
});
如果页面加载了任何选项卡的哈希值,它将在每次单击选项卡时更改哈希值并打开该选项卡。您可以提取选项卡名称(#硬件)并将其传递到视图中。你可以这样做
<li class="{{ empty($tabName) || $tabName == 'hardware' ? 'active' : '' }}"><a href="#hardware" data-toggle="tab"><strong>Hardware(s)</strong></a></li>
同样,在包含的选项卡内容中,您将有一个class=“tab pane”元素。还要将此条件添加到该元素中,例如
<div id="hardware" class="tab-pane {{ !empty($tabName) && $tabName == 'hardware' ? 'active' : '' }}">
我很晚了,但这里有一个使用withInput()和old()的解决方案。确保ID匹配 选项卡导航:在导航组件中添加id
<ul class="nav nav-tabs" id="nav-tab">
<li><a href="#details" data-toggle="tab">Galleries</a></li>
</ul>
Javascript:在这里,我们使用old()助手访问通过withInput()传递的选项卡窗格id,并将该选项卡设置为活动
$(document).ready(function () {
$('#nav-tab a[href="#{{ old('tab') }}"]').tab('show')
});
就这样 这些选项卡是否来自引导框架?将上次打开的选项卡保存到cookie,然后在重新加载时使用此值打开它。最简单的方法。你介意通过回答这个帖子来告诉我怎么做吗?普拉申克:是的,他们是。很好的刀片解决方案。我喜欢它。我这样做了,我现在让我的标签突出显示,但标签内的内容没有改变/更新到硬件标签。它显示详细信息(默认)选项卡内的内容。你知道如何修复它吗?你的选项卡详细信息页面中可能有类似于此的内容,在详细信息页面中添加类似于上述的条件,请具体说明。也许你应该更新一下你的答案。有两个地方需要三元运算符。我也喜欢你的答案,但页面刷新得很快。我试过使用
e.preventDefault()当我点击我的标签时,它仍然发生,你知道如何停止吗?@ihue刷新时间?我想这是因为你的页面出现JS错误。查看浏览器控制台。请提供有关代码的更多信息。嗨,重定向到“旧”选项卡时如何在每个字段上保留旧值?只需使用
即可。如果没有,请尝试在withInput()中传递Input::all()
以及选项卡id
$(document).ready(function(){
$('a[data-toggle="tab"]').on('show.bs.tab', function(e) {
localStorage.setItem('activeTab', $(e.target).attr('href'));
});
var activeTab = localStorage.getItem('activeTab');
if(activeTab){
$('#IDOFTAB a[href="' + activeTab + '"]').tab('show');
}
});
<ul class="nav nav-tabs" id="nav-tab">
<li><a href="#details" data-toggle="tab">Galleries</a></li>
</ul>
<div class="tab-pane" id="details">
return redirect()->back()->withInput(['tab' => 'details']);
$(document).ready(function () {
$('#nav-tab a[href="#{{ old('tab') }}"]').tab('show')
});