2008-12-04 48 views
1

我使用jQueryTreeview插件導航與類別的嵌套層次的站點。在每個類別中都有產品,每個產品都有一種或多種信息類型。縮短URL值作爲JavaScript變量

所以我的網址可以是:

  1. foo.com/view/cat_id/
  2. foo.com/view/cat_id/prod_id/
  3. foo.com/view/cat_id/prod_id/info_id/

麻煩的是,對於產品的導航是獨立的類別,這意味着僅樹視圖「知道」(並因此標記「有效」)的情況下1.例2 & 3意味着樹倒塌了,而我希望所有情況下樹都可以使用cat_id。我認爲這個解決方案是一些Javascript技巧,可以從URL中刪除cat_id /之後的任何東西,這樣我就可以將結果傳遞給Treeview,但不會被認爲是失敗用Javascript我無法弄清楚如何做到這一點。

注:我在尋找使用JavaScript正則表達式,而不是樹視圖的幫助,但對我當然所有的耳朵關斷的機會,任何人都準備軋液知道。

TIA。

回答

1

從朋友(感謝Sawks)我提出的答案我自己的問題的情況下,任何人的幫助別人後自己找到在同一條船上。

我改變開始206中的線jquery.treeview.js內:

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; 
}