2015-08-20 121 views
1

我通過許多網站進行搜索,但我不FINDE正確的解決方案,所以我不真正知道如果可能的...通過網址選擇選項值?

我有一個下拉菜單:

<select name="filter"> 
    <option selected value="">All</option> 
    <option value="newest">Newest</option> 
</select> 

......以及一些divs與信息。所以,經典的方法是按下下拉菜單並選擇一個選項。但我要的是選擇通過URL下拉值...

例如: 如果「網址+最新」>選擇「過濾器」 =價值「的最新」

URL例如: www.mypage .com /酒店&最新

這可能嗎?任何簡單的方法?

+1

的網址什麼 - 當前頁面? 「最新」不會是一個有效的URL,所以我不確定你的意思。 – cjol

+0

是的 - 您必須使用JavaScript解析當前網址,並根據網址內容「手動」選擇。看看[這篇文章](http://stackoverflow.com/questions/2090551/parse-query-string-in-javascript)。 – Lix

+0

@Hephistocles:我在頂部添加一個URL示例...(at)Lix:好的,我會看看。 – Pepe

回答

3

你可以做這樣的事情:

// Run on document ready 
$(function() { 
    // If the current url contains the string '&newest' 
    if (document.location.href.indexOf('&newest') > -1) 
    { 
     // Use jQuery to set the value of the select box to 'newest' 
     $('[name=filter]').val('newest'); 
    } 
}); 

然後,只需添加額外否則/如果需要,如果有需要照顧......

+0

Thx for support ...我會測試它... – Pepe

+0

好的,這個解決方案適用於我,大thx! – Pepe

0

要獲得的價值更多的選擇語句URL查詢字符串,做一些由LIX的建議的意見:

var item = document.location.href.match(/&(.*)$/)[1] 

爲了然後作出選擇,像這樣(請注意,您需要在選擇設置ID =「過濾器」:

​document.getElementById('filter').value = item;​​​​​​​​​​ 

請注意,通常使用URL散列表示這個,所以你的URL看起來像這樣:「www.mypage.com/hotels#newest」。與此格式的URL,你不需要做任何的正則表達式匹配,你可以簡單地做

var item = document.location.hash.substr(1) 

(該.substr(1)位只是爲了擺脫領先的哈希籤)

+0

thx支持 - 我也會測試這種方式。 – Pepe

+0

該解決方案的好處是,如果添加新選項,則不需要添加額外的代碼。如果你只有一個選擇可以擔心(「最新」),那麼HaukurHaf的可能更容易! – cjol