2014-12-24 1 views
0

Привет в моем приложении я ходовой из одного DIV в другую DIV, используя код, приведенный ниже,

$.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.I не знаю, как получить атрибут информации. Но навигация по страницам успешно.

Также я использовал $ .mobile.changepage, но не повезло.

Пожалуйста, помогите мне получить атрибут info в событии pagebeforeShow. Я уже видел похожие ответы, размещенные в 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

Спасибо за ваш ответ. Я следую вашему 1-му подходу. Здесь «storeObject» является глобальной переменной? Также я не понимаю find ('# test-input '), почему нам это нужно? – VelNaga

+0

см. Пример http://jsfiddle.net/Gajotres/9KKbx/ – Dibish

+1

Приятно видеть, что люди все еще используют мои вещи :) – Gajotres

Смежные вопросы