2013-08-04 2 views
1

다른 html 파일이 포함 된 대화 상자를 여는 버튼이 있습니다. 대화 상자에 변수를 전달할 수 있기를 바랍니다. 이것이 내가 가진 것입니다. jQuery Mobile에서 변수를 대화 상자 변수에 전달

var html = ""; 
var PLAN_ID = '1234'; 
html += "<div>" 
html += '<a href="formFinal.html?Planid=' + PLAN_ID +'" data-rel="dialog" data role="button">Final</a>' 
html += "</div>" 

PLAN_ID 변수

내가 formFinal.html에 밀어하고자하는 것입니다. 다음 코드를 사용하여 대화 상자에 숨겨진 텍스트 입력을 채울 수 있습니다.

$(document).on('pageshow', '#FinalPostPage', function(e) { 
    var page = $(this); 
    var query = page.data("url").split("?")[1]; 
    var planid = query.split("=")[1]; 
    $("input[name=Title]",this).val(planid);  
}) 

나는 이것을 사용할 수는 있지만 formFinal.html 페이지가로드 될 때까지 변수가 채워지지 않습니다. 페이지가 개발되는 동안 변수를 사용해야합니다. 희망이 의미가 있습니다.

답변

3

localStorage을 사용하여이 페이지에서 다른 페이지로 데이터를 전송할 수 있습니다.

var html = ""; 
var PLAN_ID = '1234'; 
html += "<div>" 
html += '<a href="formFinal.html" id="dialog-send" data-planid="' + PLAN_ID + '" data-rel="dialog" data role="button">Final</a>' 
html += "</div>" 

버튼 클릭에 대한 click 이벤트 기록 : 버튼을 만들 때

adata-* 속성으로 PLAN_ID 변수를 추가하고 또한의 ID/클래스를 생성

을 당신의 pageshow 이벤트에
$(document).on("click", '#dialog-send' ,function(e) { 
    //prevent default action. we dont want it to redirect. Just yet. 
    e.preventDefault(); 
    //set item in localStorage. 
    localStorage["plan_id"] = $(this).data("planid"); 
    //then use changePage to redirect 
    $.mobile.changePage(this.href, {transition: 'pop', role: 'dialog'});  
}); 

,

$(document).on('pageshow', '#FinalPostPage', function(e) { 
    var page = $(this); 
    //var query = page.data("url").split("?")[1]; 
    //get plan id from localStorage 
    var planid = localStorage["plan_id"]; 
    $("input[name=Title]",this).val(planid);  
}); 

희망이 도움이됩니다.

+0

좋아요. 나는 이것이 정말로가는 방식을 정말 좋아합니다. 로컬 저장 장치를 사용하지 마십시오. 나는 jQuery Mobile에 조금 익숙하다. 그래서 ... 어떻게 localStorage 변수를 호출할까요? "제목"입력이 리플 에뮬레이터에서 값을 표시하지 않는 것을 확인했습니다. 뭔가 잘못되었습니다. 나는 이전에 보여주고 있었다. –

+1

로컬 저장소는 내가 한 것처럼 로컬 저장소를 사용할 수 있습니다. 로컬 스토리지 값에 관해서는 크롬 휠 리소스 탭에서 확인할 수 있습니다. Chrome에서 작동하는 app.if를 실행하면 에뮬레이터에서 작동합니다. – krishgopinath

+0

감사! 지금은 매력처럼 작동합니다! –