pageinit popupinit上的jquery mobile Popup?

时间:2013-07-16 21:47:35

标签: jquery-mobile popup page-init

有没有办法为弹出窗口使用一些pageinit事件,以便从主页面填充带有电子邮件地址的输入框?

所以在我的html中,我将1页声明为data-role =“page”,并将一个弹出窗口声明为data-role =“popup”。在“页面”中,我有一个包含电子邮件地址的输入,以及一个调用弹出窗口的按钮。在弹出窗口中,我有一些文本,另一个输入文本和2个按钮。必须使用主页输入框值的内容填充此输入框。我怎样才能做到这一点?弹出窗口是否还有一些pageinit事件?

所以这是我的主页声明(pg_main)

<div data-role="page" id="pg_main">
  <input type="email" name="emailadr" is="emailadr" value="" />
  <input id="sendemail" class="emailclass" type="button" name />
</div>

现在是popup(sendm)

<div data-role="popup" id="sendm" class="ui-content">
  <h3>Send the email</h3>
  <p> Confirm email address below</p>
  <input type="email" name="adresa" id="adresa" value="" />
  <input type="button" id="emailok" value="Send" />
  <input type="button" id="emailno" value="Give up" />
</div>

当然我有一些代码用pg_main填充输入并使用有效的电子邮件地址,但这不是我的问题。 在我的脚本中,我像这样调用弹出窗口:

$(document.body).on('click','.emailclass', function(){
$('#sendm').popup("open");
});

如何从页面pg_main中使用$('#emailadr')值填充popup sendm中的$('#adresa')? 谢谢

1 个答案:

答案 0 :(得分:2)

您需要的是此代码:

$("#sendm").on("popupafteropen", function( event, ui ) {
    $('#adresa').val($('#emailadr').val());
});    

打开弹出窗口时会执行。此处使用的活动名为 popupafteropen ,您可以在官方 documentation 中找到更多相关信息。

从您的代码中制作工作示例:http://jsfiddle.net/Gajotres/Q5KSV/