我正在使用jQuery Treeview插件在具有嵌套级别类别的网站上进行导航。在每个类别中都有产品,每个产品都有一种或多种信息类型。
所以我的网址可以是:
麻烦的是,产品的导航与类别是分开的,这意味着Treeview只是'知道'(并因此标记为'活跃')案例1.案例2& 3表示树已折叠,而我希望树对所有情况都开放给cat_id。
(我对任何事情持开放态度,但是)我认为解决方案是一些Javascript技巧,可以从URL中删除任何cat_id /之后的任何内容,这样我就可以将结果传递给Treeview,但不是那样的Javascript我无法弄清楚如何做到这一点。
注意:我正在寻找Javascript正则表达式的帮助,而不是Treeview,虽然很可能有人知道现成的解决方案我当然都是耳朵。
TIA。
答案 0 :(得分:1)
在朋友的帮助下(谢谢Sawks)我会回答我自己的问题,以防其他人发现自己在同一条船上。
我更改了jquery.treeview.js中从206开始的行:
case "location":
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
if ( current.length ) {
current.addClass("selected").parents("ul, li").add( current.next() ).show();
}
break;
}
为:
case "location":
var current_location = location.href.toLowerCase();
var current_base = current_location.split('/').slice(0,5).join('/')+'/';
var current = this.find("a").filter(function() { return this.href.toLowerCase() == current_base; });
if ( current.length ) {
current.addClass("selected").parents("ul, li").add( current.next() ).show();
}
break;
}