1

最初からやり直す:

<select>4 つの異なるカテゴリに対して、4 つのオプションがある があります。ユーザーがいずれかのカテゴリにアクセスすると、適切なカテゴリ<option>が で選択されます<select>。たとえば、「Category Name」という名前のカテゴリを表示している場合、メニューで「Category Name」<option>が選択されてい<select>ます

これらの 4 つの異なるカテゴリは、それぞれカテゴリ内に複数のページを持つことができます。これらのカテゴリの最初のページの URL は 、これらのカテゴリ/category-name/の 2 番目のページは/category-name/page/2/などです。私<select>には、各カテゴリ内のすべてのページではなく、メインカテゴリのオプションしかありません。

ユーザーが名前/category-name/ページにいるのか、または などのサブページにいるかを検出する方法を見つける必要があります/category-name/page/2/

これは私が現在使用しているスクリプトです:

var pathname = window.location.pathname;
$("#restaurantSelect option[value=\"" + pathname + "\"]").attr("selected","true");

必要な方法で動作するように変更するにはどうすればよいですか?

4

1 に答える 1

1

関数をjQuery のフィルター関数に渡すことができます。これにより、必要なカスタム チェックを簡単に実行できるようになります。

var $optionsWithPage = $("#restaurantSelect option").filter(function(){
    return /\/page\/\d+/ig.test($(this).attr("option"));
});

編集- あなたの書き直しに基づいて (余談 - 人々が回答を提供した後に質問を書き直さないでください)、必要に応じて上記の正規表現を微調整することをお勧めします。私はそれが次のようなものであるべきだと思います:

/category-name(\/page\/\d+\/)?/
于 2013-06-17T15:07:46.863 に答える