首页 > 技术文章 > layui 参照赋值的两种方式

ZengJiaLin 2020-08-15 12:37 原文

前言

上一篇解决了,在layui中子页面传值回父页面的问题。

这一篇主要总结:子页面传值回父页面后,赋值的两种方式:文本框赋值;表格赋值。

文本框赋值

文本框赋值的方式,相对的简单。只需获取到子页面的值后,转换成对象后,直接赋值即可。代码如下所示:

 parent.layer.open({
       type: 2,
       title: '标题信息',
       amin: 4,
       shadeClose: true,
       shade: 0.8,
       area: ['55%', '65%'],
       btn: ["确定", '关闭'],
       content: '../TankInPlan/HtReferList',
       success: function (layero, index) { },
       yes: function (index, layero) {
            var obj = $(layero).find("iframe")[0].contentWindow;
            $(layero).find("iframe")[0].contentWindow.$('#saveBtn').click();//执行子页面的按钮点击事件
            var mJson = obj.$('#uidsub').val();//1.取值
            if (mJson != "") {
                var _mJson = $.parseJSON(mJson);//2.转换成对象
                $("#uCompId").val(_mJson[0].uCompId);//3.赋值
                $("#cCompCode").val(_mJson[0].cCompCode);
                $("#cCltName").val(_mJson[0].cCltName);
             }
        },
  });

表格赋值

表格赋值,可能有人会很纳闷。表格赋值和文本框赋值难道还不一样吗?文本框赋可以直接赋值,但是,表格需要找到对应的子元素才能赋值。代码如下所示:

<table class="layui-table" id="tabCLXX" style="margin:0px;">
   <thead>
         <tr>
             <th>车牌号码</th>
             <th>挂车号码</th>
             <th>司机姓名1</th>
             <th>身份证号1</th>
             <th>手机号1</th>
             <th>司机姓名2</th>
             <th>身份证号2</th>
             <th>手机号2</th>
             <th>装车数量</th>
             <th>操作</th>
          </tr>
   </thead>
   <tbody>
      <tr class="list">
          <td><input type="text" lay-verify="required" class="layui-input"  ondblclick="ShowCPHM(this)" /></td>
          <td><input type="text" class="layui-input" name="cCarGuaNo" /></td>
          <td><input type="text" lay-verify="required" class="layui-input"/></td>
          <td><input type="text" class="layui-input"/></td>
          <td><input type="text" class="layui-input" /></td>
          <td><input type="text" class="layui-input" /></td>
          <td><input type="text" class="layui-input" /></td>
          <td><input type="text" class="layui-input" /></td>
          <td><input type="text" class="layui-input" value="0.000" /></td>
          <td><button class="layui-btn layui-btn-danger btnDelRow">删除</button></td>
       </tr>
    </tbody>
</table>
function ShowCPHM(objs){
  parent.layer.open({
       type: 2,
       title: '标题信息',
       amin: 4,
       shadeClose: true,
       shade: 0.8,
       area: ['55%', '65%'],
       btn: ["确定", '关闭'],
       content: 'url路径',
       success: function (layero, index) { },
       yes: function (index, layero) {
            var obj = $(layero).find("iframe")[0].contentWindow;
            $(layero).find("iframe")[0].contentWindow.$('#saveBtn').click();//执行子页面的按钮点击事件
            var mJson = obj.$('#uidsub').val();//1.取值
            if (mJson != "") {
                var _mJson = $.parseJSON(mJson);//2.转换成对象
                $(objs).val(_mJson[0].cCarNO);//3.给第一个input 赋值
                $(objs).parent().next().children().val(_mJson[0].cGuaChe);//给第二个input赋值
             }
        },
  });
}

你知道的越多,你不知道的越多。我们不生产知识,我们只是知识的搬运工。

推荐阅读