2012-07-12 33 views
3

如何在jQuery Mobile中使用window.location方法。正如我開發一個應用程序使用jQuery的手機,我需要從一個HTML頁面更改爲其他HTML頁面,我需要使用window.location()。我知道,使用如何在jQuery Mobile中使用window.location()?

$.mobile.changePage("page", { transition: "slide"}); 

但這裏使用changePage()方法時得到的問題與一些js文件。所以,我想到了window.location()方法。

由於我使用的代碼是...

的index.html

<section id="previewPage" data-role="page"> 
    <div data-role="content" id="previewId" class="previewScreen"> 
    <select name="select-choice-0" id="select-choice-1" data-native-menu="false"> 
     <option value="email">Share via Email</option> 
     <option value="bbm" data-location='bbmIntegration.html'>Share via BBM</option> 
     <option value="sms">Share via SMS</option> 
     <option value="facebook">Share via Facebook</option> 
     <option value="twitter">Share via Twitter</option> 
     <option value="google">Share via Google</option> 
    </select>      
    </div> 
</section> 

sharingScreen.js

$('#select-choice-1').change(function() { 
    window.location = $(this).data('location'); 
    //window.location = $('#select-choice-1').data('location') 
    }); 

當我點擊分享通過BBM,我的HTML頁面需要導航到bbmIntegration.html頁面。但是當我在Chrome瀏覽器中運行這個時,當我點擊通過BBM共享時,它顯示爲「File/BBM/sample/www/undefined not found」。任何人都可以請幫我這個我在哪裏做的錯誤...

在此先感謝.........

+0

所有window.location的首先是一個屬性,無功能,但你把它作爲一個屬性到目前爲止,這並不重要。嘗試用$('#select-choice-1')替換$(this) – rekire 2012-07-12 08:00:55

+0

我試過這樣也通過替換id,然後也得到了與undefined相同的問題。不知道錯誤在哪裏... – 2012-07-12 08:02:15

回答

3
Try this: 

    $('#select-choice-1').change(function() { 
    window.location = $(this).find("option:selected").data('location'); 

    });​ 
2

此刻,你的JS是尋找一個在select標籤數據屬性 - 它需要觀察所選擇的option標籤:

$('#select-choice-1').change(function() { 
    window.location = $(this).find('option:selected').data('location'); 
} 
相關問題