前端:js传参异常问题

问题:在拼接的table里,onclick调用一个function,传过去的参数为String类型,到function里面接收到的为number类型。

原因:参数全为数字,js全数字默认为number。但是js里int(number)类型长度为15位,传的参数为18位,导致15位后面的精度失去。

解决:onclick调用的方法如下:

οnclick="showDetail("'+caseInfo.caseDataId+'&quot)"  //在前后面加 &quot,即用" "括起来

代码如下:

function addTab(element, title, id, code, level) {
    var result ='';
    $.getJSON('/case/data/dept/list', {'code': code, 'level': level}, function (data) {
        console.log(data);
        result += '<div class="m-list">\n' +
            '   <div class="bd">\n' +
            '       <div class="wrap">\n' +
            '           <table lay-filter="table_tool">\n' +
            '               <thead>\n' +
            '                   <tr>\n' +
            '                   <!--<th>序号</th>-->\n' +
            '                   <th>提交人</th>\n' +
            '                   <th>状态</th>\n' +
            '                   <th>事项名称</th>\n' +
            '                   <th>受理单位名称</th>\n' +
            '                   <th>受理时间</th>\n' +
            '                   <th>承诺办结时间</th>\n' +
            '                   <th>实际办结时间</th>\n' +
            '                   <th>是否收费</th>\n' +
            '                   <th>事项状态</th>\n' +
            '                   <th>操作</th>\n' +
            '                   </tr>\n' +
            '               </thead>\n' +
            '               <tbody>\n';
        for (var i in data) {
            var caseInfo = data[i];
            var charge = caseInfo.charge?"":"";
            result += '                   <tr>\n' +
                '                   <td  style="width:85px;">'+caseInfo.submiter+' </td>\n' +
                '                   <td style="width:50px;"><img src="/assets/img/control/state-'+level+'.png" alt=""></td>\n' +
                '                   <td style="width:230px;"><a href="#">'+caseInfo.caseDefinitionName+'</a></td>\n' +
                '                   <td style="width:150px;">'+caseInfo.deptName+'</td>\n' +
                '                   <td style="width:120px;">'+caseInfo.acceptTime+' </td>\n' +
                '                   <td style="width:120px;">'+caseInfo.commitmentDate+'</td>\n' +
                '                   <td style="width:120px;">'+caseInfo.completeTime+'</td>\n' +
                '                   <td style="width:80px;"> '+charge+'</td>\n' +
                '                   <td style="width:110px;">'+caseInfo.caseDataState+'</td>\n' +
                '                   <td><a class="layui-btn layui-btn-mini layui-btn-normal" οnclick="showDetail(&quot;'+caseInfo.caseDataId+'&quot)" style="color: white">查看</a></td>\n' +
                '                   </tr>\n';
        }
        result += '               </tbody>\n' +
            '           </table>\n' +
            '       </div>\n' +
            '   </div>\n' +
            '</div>';

        //新增一个Tab        element.tabAdd('lay-tab', {
            title: title + '<i class="layui-icon layui-unselect layui-tab-close">&#x1006;</i>', //用于演示
            content: result,
            id: id
        });
        //增加点击关闭事件
        var r = $(".layui-tab-title").find("li");
        //每次新打开tab都是最后一个,所以只对最后一个tab添加点击关闭事件
        r.eq(r.length - 1).children("i").on("click", function () {
            element.tabDelete("lay-tab", $(this).parent("li").attr('lay-id'));
        }), element.tabChange("lay-tab", r.length - 1);
        element.init();
        element.tabChange("lay-tab", id);
    });
}
function showDetail(caseDataId) {
    console.log("detail:" + caseDataId)
    layer.open({
        type: 2,
        area: ['90%', '90%'],
        fix: false, //不固定
        maxmin: true,
        shade:0.4,
        title: '办件详情',
        content: '/case/'+caseDataId+'/detail'
    });
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值