Saya mencoba untuk tetap mengaktifkan tab yang dipilih saat refresh dengan Bootstrap 3 . Mencoba dan memeriksa dengan beberapa pertanyaan sudah ditanyakan di sini tetapi tidak ada yang berhasil untuk saya. Tidak tahu di mana saya salah. Ini kode saya
HTML
<!-- tabs link -->
<ul class="nav nav-tabs" id="rowTab">
<li class="active"><a href="#personal-info" data-toggle="tab">Personal Information</a></li>
<li><a href="#Employment-info" data-toggle="tab">Employment Information</a></li>
<li><a href="#career-path" data-toggle="tab">Career Path</a></li>
<li><a href="#warnings" data-toggle="tab">Warning</a></li>
</ul>
<!-- end: tabs link -->
<div class="tab-content">
<div class="tab-pane active" id="personal-info">
tab data here...
</div>
<div class="tab-pane" id="Employment-info">
tab data here...
</div>
<div class="tab-pane" id="career-path">
tab data here...
</div>
<div class="tab-pane" id="warnings">
tab data here...
</div>
</div>
Javascript :
// tab
$('#rowTab a:first').tab('show');
//for bootstrap 3 use 'shown.bs.tab' instead of 'shown' in the next line
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
//save the latest tab; use cookies if you like 'em better:
localStorage.setItem('selectedTab', $(e.target).attr('id'));
});
//go to the latest tab, if it exists:
var selectedTab = localStorage.getItem('selectedTab');
if (selectedTab) {
$('#'+selectedTab).tab('show');
}
jquery
twitter-bootstrap
tabs
twitter-bootstrap-3
Code Lover
sumber
sumber
console.log("selectedTab::"+selectedTab);
, saya punya:selectedTab::undefined
. Jadi logika yang Anda terapkan tidak benarJawaban:
Saya lebih suka menyimpan tab yang dipilih di nilai hash jendela. Ini juga memungkinkan pengiriman link ke rekan kerja, yang kemudian melihat halaman "yang sama". Triknya adalah mengubah hash lokasi saat tab lain dipilih. Jika Anda sudah menggunakan # di halaman Anda, mungkin tag hash harus dipisah. Di aplikasi saya, saya menggunakan ":" sebagai pemisah nilai hash.
JavaScript, harus disematkan setelah di atas
<script>...</script>
sebagian.sumber
e.preventDefault();
dan$(this).tab('show');
Ini yang terbaik yang saya coba:
sumber
"a[data-toggle=tab]"
menjadi lebih baik. Cara selektor ditulis sekarang juga mengubah URL browser saat mengklik link untuk misalnya membuka modal.data-toggle="dropdown"
dan yang kebetulan saya miliki di halaman yang sama dengan tab dalam satu kasus. Seperti seseorang yang disarankan di sini, hanya mengganti$(document.body).on("click", "a[data-toggle]", function(event) {
dengan$(document.body).on("click", "a[data-toggle='tab']", function(event) {
melakukan trik untuk saya.Campuran antara jawaban lain:
Cukup salin & tempel;)
sumber
Kode Xavi bekerja sepenuhnya. Namun saat menavigasi ke halaman lain, mengirimkan formulir, kemudian dialihkan ke halaman dengan tab saya sama sekali tidak memuat tab yang disimpan.
localStorage untuk menyelamatkan (sedikit mengubah kode Nguyen):
sumber
[data-toggle="pill"]
untuk pilYang ini menggunakan HTML5
localStorage
untuk menyimpan tab aktifref: http://www.tutorialrepublic.com/faq/how-to-keep-the-current-tab-active-on-page-reload-in-bootstrap.php https://www.w3schools.com/bootstrap /bootstrap_ref_js_tab.asp
sumber
Mendasarkan diri pada jawaban yang diberikan oleh Xavi Martínez dan koppor, saya menemukan solusi yang menggunakan hash url atau localStorage tergantung pada ketersediaan yang terakhir:
Pemakaian:
Itu tidak mengikuti tombol kembali seperti halnya solusi Xavi Martínez .
sumber
Kode saya, ini berfungsi untuk saya, saya menggunakan
localStorage
HTML5sumber
Saya mencoba ini dan berhasil: (Harap ganti ini dengan pil atau tab yang Anda gunakan)
Saya berharap ini akan membantu seseorang.
Ini hasilnya: https://jsfiddle.net/neilbannet/ego1ncr5/5/
sumber
Yah, ini udah di tahun 2018 tapi menurut saya lebih baik telat daripada tidak sama sekali (seperti judul di program TV), hihihi. Di bawah ini adalah kode jQuery yang saya buat selama tesis saya.
dan berikut adalah kode untuk tab bootstrap:
berikut adalah kode cepat untuk Anda:
Sekarang mari kita ke penjelasannya:
Mencari beberapa contoh? ini satu untuk kalian .. https://jsfiddle.net/Wineson123/brseabdr/
Saya berharap jawaban saya dapat membantu Anda semua .. Cheerio! :)
sumber
Karena saya belum bisa berkomentar, saya menyalin jawaban dari atas, itu sangat membantu saya. Tapi saya mengubahnya agar berfungsi dengan cookie, bukan #id, jadi saya ingin membagikan perubahannya. Hal ini memungkinkan untuk menyimpan tab aktif lebih lama dari hanya satu penyegaran (misalnya beberapa pengalihan) atau ketika id sudah digunakan dan Anda tidak ingin menerapkan metode pemisahan koppors.
sumber
Saya mencoba kode yang ditawarkan oleh Xavi Martínez . Ini berhasil tetapi tidak untuk IE7. Masalahnya adalah - tab tidak mengacu pada konten yang relevan.
Jadi, saya lebih suka kode ini untuk memecahkan masalah itu.
sumber
Terima kasih telah berbagi.
Dengan membaca semua solusi. Saya datang dengan solusi yang menggunakan hash url atau localStorage tergantung pada ketersediaan yang terakhir dengan kode di bawah ini:
sumber
Untuk Bootstrap v4.3.1. Coba di bawah ini:
sumber
Menggunakan html5 saya membuat yang ini:
Beberapa tempat di halaman:
Viewbag hanya boleh berisi id untuk halaman / elemen, misalnya: "pengujian"
Saya membuat site.js dan menambahkan skrip di halaman:
Sekarang yang harus Anda lakukan adalah menambahkan id Anda ke bilah navigasi Anda. Misalnya.:
Semua memuji atribut data :)
sumber
Selain jawaban Xavi Martínez yang menghindari lompatan klik
Menghindari Jump
Tab bersarang
implementasi dengan karakter "_" sebagai pemisah
sumber
Kami menggunakan jquery trigger untuk memuat skrip yang menekan tombol untuk kami
$ (". class_name"). trigger ('click');
sumber
Celakalah, ada banyak cara untuk melakukan ini. Saya datang dengan ini, singkat dan sederhana. Semoga ini bisa membantu orang lain.
sumber
sumber