学习Layui笔记-父窗口获取子窗口的radio

最近学习layui,使用radio做单项选择的时候,发现layui无论怎么取值,都是默认取到第一个radio的值。

百度下找解决方法。

 

html页面部分

<div class="layui-form" lay-filter="layuiadmin-form-list" id="layuiadmin-form-list" style="padding: 20px 30px 0 0;">
     <div class="layui-form-item">
      <div class="layui-input-inline">
        <center><input type="radio" id="statusa" name="statusa" value="1"  checked title="已付款"></center>
      </div>
      
      <div class="layui-input-inline">
        <center><input type="radio" id="statusa" name="statusa" value="2"   title="已结算"></center>
    </div>
    
      <div class="layui-input-inline">
       <center><input type="radio" id="statusa" name="statusa" value="3"   title="已评价"></center>
    </div>
    
      <div class="layui-input-inline">
       <center><input type="radio" id="statusa" name="statusa" value="4"   title="申请客户接入"></center>
    </div>
    
      <div class="layui-input-inline">
      <center><input type="radio" id="statusa" name="statusa" value="5"   title="退款成功"></center>
    </div>
    
      <div class="layui-input-inline">
       <center><input type="radio" id="statusa" name="statusa" value="-1"   title="申请退款"></center>
    </div>
    
    </div>

 

之前以为像之前一样直接取ID的值就会取到想要的值

var status=iframeWin.document.getElementById("statusa").value;
              alert(status);

 

 

 

解决方法:

现在子页面上先做一个JS函数,取到radio的值。

      window.getRadio=function () {
        var value='';
        var radio = document.getElementsByName("statusa");
        for(var i = 0;i<radio.length;i++)
        {
            if(radio[i].checked==true)
            {value = radio[i].value;
                break;}
        }
        return value;
    };

然后在父页面调用这个函数,取到这个函数的返回值。也就是radio的值。

var iframeWin = window[layero.find('iframe')[0]['name']];//得到iframe页的窗口对象,执行iframe页的方法:
              var status=iframeWin.getChoseId();
              alert(status);

接下来就可以实现我们想要的结果了。

 

posted @ 2020-03-23 10:29  xxxxxyq  阅读(675)  评论(0编辑  收藏  举报