1

重新开始:

我有一个<select>有四个选项,用于四个不同的类别。当用户访问其中一个类别时,<option>会在<select>. 例如,如果我正在查看一个名为“类别名称”的类别,则在菜单<option>中选择了“类别名称”<select>

这四个不同的类别中的每一个都可以在类别中具有多个页面。这些类别的第一页的 URL 是/category-name/,这些类别的第二页是/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 回答