我在bootstrap-table的formatter方法中使用了一个函数:function (value, row, index) {
                    var e = '';
                    e = '<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg" onclick="processBR(' + row+')">审批</button>';
                    return e;
                }
我在调试中看到row对象此时是有值的:
typeof(row) "object" String
- row {...} Object
+ __proto__ {...} Object
AssignQuantity 0 Number
AuditState 1 Number
BorrowDays 5 Number
Borrower "admin" String但是把row作为参数代入以后变成了[object Object]"<button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\".bs-example-modal-lg\" onclick=\"processBR([object Object])\">审批</button>"
请帮忙看下应该如何将row正确传入processBR函数呢

解决方案 »

  1.   

    这个做不到哦。你是组装html,任何JS对象传进来并且组装后,都会当做字符串去组装了。如果要达到你要的效果,是要改写函数体了。
                  function (value, row, index) {
                        var e = '';
                        e = '<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">审批</button>';
                        e = $(e);//此处将html转换成jquery对象
                        e.click(function(){
                            processBR(row);
                        })
                        return e;
                    }这样就可以了,当然,在你原本将html插入到页面中的时候,就不能用innerHTML了,这里返回的是一个jquery对象,要用jquery插入元素的方法。如果不用jquery就写成源生dom,代码量多一点,不赘述了。
      

  2.   

    谢谢!感觉我把问题想简单了,实现起来确实有点复杂,所以最后直接把这个对象扔到session里面了
      

  3.   

    谢谢!感觉我把问题想简单了,实现起来确实有点复杂,所以最后直接把这个对象扔到session里面了
    传递行下标或者记录id就行了吧,复制数据通过html拼凑会出问题,然后调用组件id获取所有数据后通过下标或者或者遍历通过id来获取Web开发学习资料推荐
    jQuery dataType指定为json注意事项
    javascript解码读取二维码信息