2014-12-24 21 views
0

喜在我的應用我從一個DIV使用下面的代碼導航到另一個DIV下pagebeforeshow發送參數,

$.mobile.navigate("#formsEnterId", { info: "info about the #formsEnterIdhash" }); 

$("#formsEnterId").on('pagebeforeshow', function (event, data) { 
      console.log("Entered page before show::",data); //How to fetch the info here?? 
     }); 

在pagebeforeshow事件中,我想獲取info屬性。我不知道如何獲取 info屬性。但是頁面導航是成功的。

另外我用$ .mobile.changepage但沒有運氣。

請有人協助我獲取pagebeforeShow事件中的info屬性。 我已經看到張貼在Pass parameter between pages using jquery mobile

相關的答案,但因爲我的網頁瀏覽的腳本和pagebeforeshow事件是在不同的封閉,不解決我的問題。

+0

哪個版本JQM您使用的是? – Omar

+0

@Omar謝謝你的回覆。我正在使用JQM 1.3.2 – VelNaga

回答

0

隨着一切都加載到DOM中,我們可以創建一個全局對象來存儲數據。

活生生的例子:http://jsfiddle.net/Gajotres/9KKbx/

var storeObject = { 
    parameter1: null, 
    parameter2 : null 
} 
// Store object 
$(document).on('pagebeforeshow', '#second', function(e, data){  
    alert("My name is " + data.prevPage.find('#test-input').val()); 
}); 

另一種方式是存儲變量在本地存儲

$(document).on('pagebeforeshow', '#index', function(){  
    $(document).on('click', '#change-page-button', function(){  
     // store some data 
     if(typeof(Storage)!=="undefined") { 
       localStorage.firstname="Dragan"; 
       localStorage.lastname="Gaic";   
     } 
     // Change page 
     $.mobile.changePage("#second"); 
    }); 
}); 

$(document).on('pagebeforeshow', '#second', function(){  
    alert('My name is ' + localStorage.firstname + ' ' + localStorage.lastname); 
    // Lets change localStorage data before we go to the next page 
    localStorage.firstname="NewFirstNeme"; 
    localStorage.lastname="NewLastName"; 
}); 

$(document).on('pagebeforeshow', '#third', function(){  
    alert('My name is ' + localStorage.firstname + ' ' + localStorage.lastname); 
}); 
+0

謝謝你的回覆。我遵循你的第一個方法。這裏的「storeObject」是一個全局變量嗎?我也不明白find('測試輸入')爲什麼我們需要這個? – VelNaga

+0

請參閱示例http://jsfiddle.net/Gajotres/9KKbx/ – Dibish

+1

很高興看到人們仍在使用我的東西:) – Gajotres