【问题标题】:jquery mobile Popup on pageinit popupinit?jquery mobile Popup on pageinit popupinit?
【发布时间】:2023-03-29 07:28:01
【问题描述】:

有没有办法为弹出窗口使用一些 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>

现在是弹出窗口(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') 值填充弹出 sendm 中的 $('#adresa')? 谢谢

【问题讨论】:

    标签: jquery-mobile popup page-init


    【解决方案1】:

    你需要的是这段代码:

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

    它会在弹出窗口打开时执行。此处使用的事件称为 popupafteropen,您可以在官方 documentation 中找到有关它的更多信息。

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

    【讨论】:

    • 我有该函数的确切内容,但我不知道该事件的放置位置。它是这样工作的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多