js结合table改变iframe地址

js结合table改变iframe地址

实现同界面的预览功能
嵌入iframe

// A code block
<iframe src="" width=100% height= "300px" name="my-iframe" scrolling="Yes"
        noresize="noresize" frameborder="0" id="my-iframe">
</iframe>

在js中写入

document.getElementById('my-iframe').setAttribute('src','http://localhost:8096/business/tpiao/p_review?autoId=' + data.autoId + '&flag=' + flag);

或者

$('#my-iframe').attr('src','http://localhost:8096/business/tpiao/p_review?autoId=' + data.autoId + '&flag=' + flag);

ftl文件

// 
<!DOCTYPE html>
<html>
<head>
    <#include "/head.ftl">
    <script type="text/javascript" src="/lib/template-web.js"></script>
</head>
<body>
<script>
    var autoId=${autoId};
</script>

<div class="layui-fluid">
    <div class="layui-row">
        <fieldset class="layui-elem-field">
            <legend><b>${theObj.name!}(ID:${theObj.autoId!})</b></legend>
            <div class="layui-field-box" style="text-align: center">
                满分:${ theObj.fullScore!}&nbsp;&nbsp;&nbsp;&nbsp;及格分:${ theObj.passScore!}
            </div>
            <div class="layui-field-box" style="text-align: center">
                &nbsp;&nbsp;&nbsp;&nbsp;出卷人:${ theObj.createUserName!}
                &nbsp;&nbsp;&nbsp;&nbsp;出卷时间: ${ theObj.createDate?datetime}
            </div>
        </fieldset>
    </div>
    <div class="layui-card">
        <div class="layui-card-body ">
            <table id="mytable" class="layui-table layui-form" lay-filter="l_table">
            </table>
        </div>
    </div>
</div>

<iframe src="" width=100% height= "300px" name="my-iframe" scrolling="Yes"
        noresize="noresize" frameborder="0" id="my-iframe">
</iframe>

<script type="text/html" id="l_toolbar">
        <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="p_review">预览</a>
</script>

<script type="text/javascript" src="/js/business/paper/tpiao_review.js"></script>
</body>
</html>

js文件

// 
var prefix = "/business/paper";
var tags=[];
var step = 111;
var table;


layui.use('table', function () {
    table = layui.table;
    //后端已经筛选出paperId对应的票id和票对应的分数,同时写了一个数据接口listById,想通过表单的形式进行显示
    //listById接口,写了测试程序可用,作为表单的数据接口不可用

    //第一个实例
    table.render({
        elem: '#mytable'
        , id: 'autoId'
        , url: '/business/paper/listById/'+autoId//数据接口
        , cols: [[ //表头
            {field: 'name', title: '票名称', sort: true}
            , {field: 'typeName', title: '票类型', sort: true}
            , {field: 'score', title: '分数',sort: true}
            , {toolbar: '#l_toolbar', title: '操作', fixed: 'right', width: 178, align: 'center'}
        ]]
        , done: function (data) {
            console.log(data);
        }
    });
    table.on('sort(l_table)', function (obj) {
        obj.field = jd_tuofeng(obj.field);
        table.reload('autoId', {
            initSort: obj
            , where: {
                sort: obj.field //排序字段
                , order: obj.type //排序方式
            }
        });
    });
    //监听工具条
    table.on('tool(l_table)', function (obj) {
        var data = obj.data;
        // 两票预览标志位
        var flag = 'preview';
        if (obj.event === 'p_review') {
            $('#my-iframe').attr('src',
            'http://localhost:8096/business/tpiao/p_review?autoId=' 
            + data.autoId + '&flag=' 
            + + flag);
        }
    });

});

前端表格

前端界面:

autoId名称分数操作
1111600电脑1600预览
2222000电脑1600预览

效果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值