location.hashから特定のアンカー要素を選択します
質問
別のページのリンクをクリックすると、Webページの特定のタブセクションを選択しようとしています。 location.hash関数を使用してタブの特定のアンカー要素を選択し、最初のWebページのhref属性にhashプロパティを追加することをお勧めしました。
しかし、コードは私にとっては機能しません。特定のタブを選択する代わりに、ページ全体を取得します。誰か助けてもらえますか?
これがコードです。これは最初のWebページのリンクです。 2番目のWebページの[送信済み]タブを選択したい。そこで、そのタブのIDを追加し、#submitをurlに送信しました。
<a id="formStatus<?php echo $status;?>" class="code_link" href="/FormBuilder/main/viewAllMyForms#submitted"><?php echo $status;?></a>
これは、location.hashがsubmitに等しいかどうかを確認する2番目のページのコードです。
if(location.hash=="submitted") {
$("#submitted").trigger("click");
}
$('#submitted , #formStatusSubmitted').click({
<?php foreach($myForms as $form):
if($form['Form']['status']=="Incompleted"){ ?>
$('.fm_myformsample_container'+<?php echo $form['Form']['id'];?>).hide();
<?php }
else{?>
$('.fm_myformsample_container'+<?php echo $form['Form']['id'];?>).show();
<?php }
endforeach;?>
$('#sort_by').find(".selected").removeClass();
$('#submitted').addClass("selected");
});
解決 3
問題の解決策を見つけました。そのif条件、つまり
でIDに#を追加しましたif(location.hash=="#submitted"){
$("#submitted").trigger("click");
}
これで動作します。その特定のリンクをクリックすると、その特定のタブセクションにリダイレクトされます。
他のヒント
window.location.hashまたはdocument.location.hashを試す
クリックのハンドラを設定する前にclick()を起動するように見えます。 $(&quot;#submitted&quot;)。trigger(&quot; click&quot;);
を一番下に移動してみてください。
所属していません StackOverflow