2012-07-08 52 views
2

我認爲這將是一個微不足道的功能,但我已經失去了一些頭髮試圖弄清楚。我有一個jQuery的移動網頁與選擇菜單。用戶單擊下拉列表中的某個項目,然後再單擊一個鏈接並導航到另一個頁面。用戶然後點擊後退按鈕。期望的結果是所選項目保持選定狀態。現在,選擇會丟失,並且它會再次默認爲列表中的第一個元素。使用後退按鈕保留選定的選項,使用jquery mobile&asp.net&ajax

我試過的東西: 1)在autopostback中使用asp.net下拉列表。這保留了選定的選項,但是由於整個頁面被回傳,我得到頁面閃爍。

2)在updatepanel中將asp.net dropdownlist包裝在上面。這保留,不閃爍,但它抹去了jquery移動樣式。還嘗試了一些建議的解決方法來解決jQuery創建事件,但無法獲得任何效果。

3)在javascript中的select change事件中寫入cookie,並在asp page_load事件中讀取它們。但是,單擊後退按鈕時不會調用page_load,所以這不起作用。

4)嘗試創建一個jquery ajax請求的網頁方法,但該方法必須是靜態的,因此我不能讓它來修改頁面。

還有其他想法嗎?這只是我還是應該是一個已經解決了一百萬次的問題?

作爲供參考,我是網絡編程的新手,所以如果您有答案,請詳細說明:)(來自C++ /數據庫背景)。

謝謝!

+0

好的,好吧,我還沒有找到解決方法,但我現在有一個可接受的解決方法,所以不要在這個問題上浪費太多的腦細胞。我有3個選擇菜單,年,月,日。相反,我現在在這裏使用jquery移動日期選擇器:http://mobiscroll.com。不知何故,這段JavaScript的存活後退按鈕,並記住它的價值。榮譽給作者,但我不知道他們是如何做到的:) – AnOttawan 2012-07-09 16:23:30

回答

1

在某些情況下,即使日期滾動條無法在後退按鈕中生存。例如,如果用戶導航到另一個網站,然後使用後退按鈕返回到我的jquery移動網站,我的所有javascript dom操作都將丟失。解決方案並不重要。我存儲了所有需要使用html 5本地存儲來維護頁面狀態的所有內容。在jqm show page事件中,我檢測是否所有全局變量都已被擦除乾淨,如果是,則從本地存儲重新加載狀態。完美的工作,但它是一個相當實施的任務。當然,如果本地存儲不被底層瀏覽器支持,那麼這一切都會陷入困境。