weui的自定义Dialog,只能获取到第一次获取的dome元素的值

本文介绍了一个关于jQuery modal弹窗中获取输入框value值的问题,详细解释了问题出现的原因,并提供了一种可行的解决方案,即通过设置autoClose为false避免弹窗关闭过快导致无法正确获取所有输入框值。

今天遇到的很奇怪的问题,纠结了好长时间,看下面实例代码来体会这个奇怪的问题

$.modal({
          title: "测试",
          text: "文本框1<input type='text' id='test01' value=''/><br>  文本框2<input type='text' id='test02' value=''/>",
          buttons: [
            { text: "获取两个文本框的value值", onClick: function(){ 

                 alert($("#test01").val()); 
                 alert($("#test02").val());

              } },
            ]
        });

问题:

点击按钮时,获取文本框1的值是正常的,文本框2是undefined。

将alert($("#test01").val());alert($("#test02").val());交换位置,先获取文本框2的值再获取文本框1的值,再来看看

发现只能获取文本框2的值,文本框1是undefined


原因(本人猜测,如果哪位大神知道原因还望告知):

点击获取按钮时会触发关闭弹框,弹框关闭太快,获取到第一个文本框的值,再去获取第二个文本框的值得时候弹框已经关闭。


解决方案:将自动关闭弹窗设置为flase:autoClose : false,,在需要关闭弹窗的时候,加入手动关闭弹窗:$.closeModal();

代码如下:

$.modal({
        autoClose : false,
          title: "测试",
          text: "文本框1<input type='text' id='test01' value=''/><br>  文本框2<input type='text' id='test02' value=''/>",
          buttons: [
            { text: "获取test01和test02的value值", onClick: function(){ 
//使用$.alert()会出现弹框还未弹出,窗口就关闭的情况,有知道的
//大神告知一下
                 alert($("#test01").val()); 
                 alert($("#test02").val());
                  $.closeModal();
              } },
            ]
        });








评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值