2012-07-17 71 views
0

我有奇怪的行爲,我不知道如何解決它。jQueryMobile和切換DIV可見性

我有web服務的移動版本,並在每一頁上,我將搜索形式DIV元素,整個容器應與普通jQuery的進行切換.toggle()

的代碼是(腳本是直接放置在網頁的碼,如樣品中):

<div id="search-area" style="display: none"> 
    search form here... 
</div> 

<a href="#" id="search-area-switch" data-role="button">Search</a> 

<script type="text/javascript"> 
    $('#search-area-switch').live('tap',function (event) { 
     $('#search-area').toggle(); 
    }); 
</script> 

我的問題是,只有在重裝後的第一頁和下一頁的變化交替切換後toggle()作品是不可能的了。 (順便說一句,頁面加載AJAX保持轉換等)

我錯過了什麼?

回答

1

如果腳本位於頁面的頭部,當您更改頁面時它將不會運行,因爲Jquery Mobile會在第一頁之後忽略頭部。

一般來說,具有相同ID的多個項目是不好的做法。最好讓他們成爲同一班,然後讓你的選擇器以這種方式找到物品。

+0

不,它不是在頭,我寫我把它放在了頁面的代碼(內分度'數據角色=「頁面」'),將具有不同ID的嘗試 – biesior 2012-07-17 19:56:32

+0

具有不同ID應該停止的問題。當您更改頁面等JQuery的默認選擇第一個,這是不是你想要的其他的div相同的標識是否仍徘徊。 – 2012-07-17 20:01:22

+0

葉氏,你是對的,因爲在控制器中生成我JS我可以修改每個實例有選擇的ID的工作(並且不需要依靠同一類)更重要的是。謝謝救了我很多時間。 – biesior 2012-07-17 20:06:23