【问题标题】:How to open a specific tab by ID on page refresh using Javascript如何使用 Javascript 在页面刷新时按 ID 打开特定选项卡
【发布时间】:2015-11-09 10:08:51
【问题描述】:

我正在打开购物车。在我的订单信息页面中,我有一些自定义标签,其中一个标签被命名为 HX endicia 标签。

<a href="#tab-label"><?php echo "HX Endicia Labels"; ?></a> // link to tab
<div id="tab-label" class="vtabs-content" style="display: none;"> // tab content, its by default display none when page loads.

在此选项卡上,我在表中显示了一些来自数据库的记录。在每一行我都有删除链接以及从数据库中删除当前行。当我单击我的删除链接时,我会在控制器中调用 delete_label 方法并从数据库中删除该行,直到现在它工作正常。在我的函数结束时,我重新加载我当前的 order_info 页面。当我删除记录时,页面会刷新。刷新页面时,我的第一个选项卡默认打开。我想要的是在通过此删除功能重新加载页面时打开我的“#tab-label”选项卡。为此,我这样编码。

public function Delete_label() 
{ 
/* my code to delete label */
$this->info();  // refreshing my page
echo " <script type="text/javascript">
document.getElementById('tab-label').style.display = 'block';
</script>
";
}

它不工作。

【问题讨论】:

  • 由于您的刷新,没有执行回显
  • 那我该怎么办?

标签: javascript php jquery tabs opencart


【解决方案1】:

您需要将刷新时重定向到以所需活动标签结尾的页面

表达式: 用于删除的html表单 //其他输入

public function Delete_label() 
{ 
$tab = $_POST["showed"];//get the value from the hidden input
header('Location: '.$currentUrl.$tab);
}

在您刷新的页面中:

tab= window.location.hash.substr(1);//get the end of the url '#tab-label'
if(tab) {
   document.getElementById(tab).style.display = 'block';//show the hidden tab 
}

【讨论】:

  • 没有特定页面,活动标签css设置为点击时显示块,其余设置为无显示
  • 如果我在此函数结束时刷新我的#tab-label 选项卡会怎样?
  • 刷新是什么意思?
  • 我的意思是在删除点击后只在我的标签内容中更新我的内容
  • 你的标签内容是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
相关资源
最近更新 更多