我有一个按钮,打开一个包含另一个html文件的对话框。我希望能够做的是将变量传递给对话框。这就是我所拥有的。
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页面之后。我需要在页面开发时使用变量。希望这是有道理的。
答案 0 :(得分:4)
您可以使用localStorage
将数据从此页面传输到另一页。
创建按钮时,将PLAN_ID
变量作为data-*
属性添加到a
,并为其创建ID /类:
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
事件:
$(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'});
});
在pageshow
事件中,
$(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);
});
希望这有帮助。