Как сделать ссылку на другую вкладку страницы в laravel? - PullRequest
0 голосов
/ 12 ноября 2018

У меня был список вкладок на странице view_profil:

 <div class="panel panel-default">
<ul class="nav nav-pills" id="mytab">
  <li class="active"><a data-toggle="tab" href="#profil">Profil</a></li>
  <li><a id="keluarga-tab" data-toggle="tab" href="#keluarga">Keluarga</a></li>
  <li><a id="kursus-tab" data-toggle="tab" href="#kursus">Kursus</a></li>
  <li><a id="akademik-tab" data-toggle="tab" href="#akademik">Akademik</a></li>
  <li><a id="anugerah-tab" data-toggle="tab" href="#anugerah">Anugerah</a></li>
</ul>

Я хочу связать кнопку с другой страницы с этой страницей, но непосредственно со ссылкой на вкладку «keluarga».

Я использовал этот код для кнопки:

<a href="{{ url('/view_profil/' . $valueItemregistrationkeluarga->ItemRegistrationID.'#keluarga') }}" class="btn btn-warning btn-md">Back</a>

Я пытался использовать несколько jquery-кода и javascript, но не смог .. Какой правильный javascript / jquery для этой цели?

Это jquery используется;

<script>
var hash = document.location.hash;
if (hash) {
$('.nav-tabs a[href='+hash+']').tab('show');
} 

// Change hash for page-reload
$('.nav-tabs a').on('shown.bs.tab', function (e) {
window.location.hash = e.target.hash;
});
</script>

Я опробовал ваши решения без вкладок:

 <script>
 var hash = document.location.hash;
 if (hash) {
 $('.nav-tabs a[href='+hash+']').tab('show');
 } 

 // Change hash for page-reload
 $('.nav a').on('shown.bs.tab', function (e) {
 window.location.hash = e.target.hash;
 });
 </script>

Я также попробовал этот код:

Try1:

    // Javascript to enable link to tab
    var url = document.location.toString();
    if (url.match('#')) {
      $('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
   } 

 // Change hash for page-reload
  $('.nav-tabs a').on('shown.bs.tab', function (e) {
  window.location.hash = e.target.hash;
  })

Попробуйте 2: var openTab = $ (location.hash) .filter (". tab_content");

 if(openTab.length){
 $("a[href='"+location.hash+"']").click();
 }

Попробуйте 3:

 <script type="text/javascript">
 (function activateTabFromHash() { if (location.hash) { var tabLink = document.querySelector('a[href="' + location.hash + '"]'); if (!tabLink) { return false; } tabLink.click(); if (location.hash) {
  setTimeout(function() {
  window.scrollTo(0, 0);
  }, 1);
  } } })();
  </script>

Я использую Laravel 5 для этого приложения.

Кнопка может ссылаться на страницу, но не активирует указанную вкладку.

1 Ответ

0 голосов
/ 14 ноября 2018

JQuery ожидает, что значение href будет в кавычках (""), например href="#keluarga".

В настоящее время часть, в которой вы выбираете вкладку ($('.nav-tabs a[href='+hash+']')), будет иметь значение '.nav-tabs a[href=#keluarga], если hash='#keluarga'. JQuery генерирует синтаксическое исключение, потому что за знаком = следует #, а не ".

Поэтому убедитесь, что значение hash заключено в кавычки. Вы можете изменить эту часть своего кода на: $('.nav-tabs a[href="'+hash+'"]').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...