私は何時間もこれの解決策を見つけるのに苦労していますが、何をしてもうまくいかないようです(javascript/jqueryの知識が許す限り)。したがって、検索フォームでタブを切り替えるこのjqueryスクリプトがあり、コードは次のとおりです。
<ul id="tabs">
<li><a href="#" name="tab1">T1/a></li>
<li><a href="#" name="tab2">T2</a></li>
</ul>
<div id="content">
<div id="tab1">
TAB 1 CONTENT
</div>
<div id="tab2">
TAB 2 CONTENT
</div>
</div>
そしてJQUERYコード:
$(document).ready(function() {
$("#content div").hide(); // Initially hide all content
$("#tabs li:first").attr("id","current"); // Activate first tab
$("#content div:first").fadeIn(); // Show first tab content
$('#tabs a').click(function(e) {
e.preventDefault();
if ($(this).closest("li").attr("id") == "current"){ //detection for current tab
return
}
else{
$("#content div").hide(); //Hide all content
$("#tabs li").attr("id",""); //Reset id's
$(this).parent().attr("id","current"); // Activate this
$('#' + $(this).attr('name')).fadeIn(); // Show content for current tab
}
});
});
タブの div 名とは別に class="current" を追加しようとしましたが、何も機能しません。クリック時にのみ現在のタブの変更を受け入れるこのクリック機能があるのではないかと考えていますが、これを自動にしたいので、2番目のタブがアクティブなときに、指定した「現在の」クラスに基づいてアクティブのままになります。私の状況は次のようなものです: 最初のタブは英語からイタリア語へ検索し、2 番目のタブはイタリア語から英語へ検索しますが、2 番目のオプション (It to En) を選択し、ページを更新して結果を表示すると、最初のタブが選択されています。そのため、ユーザーが (イタリア語から英語まで) 2 回以上検索したい場合は、2 番目のタブを何度も選択する必要があります。
jquery が「現在の」クラスを検出できるようにすることができれば、いくつかの php を追加して URL パラメータをチェックし、適切なタブを適切にアクティブ化できます。例: search.php?lang=it_to_eng
の場合、'current'class を 2 番目のタブに追加し、その逆も同様です。
前もって感謝します。