bootstrapTable获取当前行id属性并使用

利用bootstrapTable来显示表格时,在遇到需要在最后一行加入修改、删除这种额外操作时,需要获取当前行的id属性,并将id值赋给修改、删除超链接,用来在后台针对该id对应的数据进行操作。

关键代码

<script>
        $('#table').bootstrapTable({
            url:"${pageContext.request.contextPath}/getData.do",
            pagination:true,//分页
            search:true,
            columns: [{
                field: 'id',
                title: '编号'
            }, {
                field: 'userName',
                title: '登陆账号'
            }, {
                field: 'password',
                title: '密码'
             }, {
                title: '操作',
                align: 'center',
                valign: 'middle',
                //添加超链接的方法
                formatter:function(value, row, index) {
                    //var array=$('#table').bootstrapTable('getSelections');不需要这个了
                    //alert(JSON.stringify(row));弹出窗口
                    //alert(row.id);
                    return [
                        '<a href="${pageContext.request.contextPath}/updateUser.do?id='+row.id+'">修改 </a>' +
                        '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' +
                        '<a href="${pageContext.request.contextPath}/deleteUser.do?id='+row.id+'"> 删除</a>'
                    ].join("")
                }
            }]
        })
    </script>

其中id、userName、password都是数据库t_user表中的。
最后的操作是重点,操作里面设置了修改和删除两个超链接。

其中:
1.formatter:function(value, row, index) {}
formatter对当前列(这一个格子)进行操作;
value表示当前单元格中的值,也就是没有;
row获取了当前行的数据,类型为Object;
index表示当前行的下标(从0开始)。
可以用 **alert(value + " " + index);**输出测试一下,结果如下:

2.alert(JSON.stringify(row));用来通过弹窗输出当前行的数据,来测试一下,和上面的一样,有多少行数据就会弹出多少次窗口。结果如下:

**3.**通过alert(row.id);来测试是否能够获取到id。

href=“${pageContext.request.contextPath}/updateUser.do?id=‘+row.id+’”
alert(row.id);

row.id要写在单引号中,用来组成字符串;
${pageContext.request.contextPath}是jsp获取绝对路径的方法;
updateUser.do是写在UserController.java里面的需要获取一个用户id来跳转到修改内容的界面里,该方法可以从数据库获取该id对应的信息显示在输入框中,方便进行修改;
删除同理,删除成功后跳转到删除成功界面。

更多推荐

bootstrapTable获取当前行id属性并使用 获取id来给表格添加修改和删除操作