如何修改指定单元格的内容以及获取某一单元格的索引?

提问 已结 5 93
见鬼愁
见鬼愁 3天前
悬赏:20飞吻
版本:layui 浏览器:
document.getElementById('demo').rows[4].cells[1].innerText = '内容' 这句代码无效,因为是要根据其他操作而改变指定单元格内容,所以不需要单元格编辑事件,obj.update也只能改变操作行的列。
回帖
  • CrazyYi
    2天前
    @见鬼愁 这些用法都是jQuery,你可以学习一下。
    你刚才的问题,解答如下:

        // 因为每个td下面,都是一个div,因此需要先找到div。
    // 修改div的值,采用html() 赋值
    $('#demo').next().find('.layui-table-main').find('tr[data-index="3"]').find('td[data-field="xxxxx"]').find('div').html('1111')
    0 回复
  • CrazyYi
    2天前
    不太明白,你的指定单元格,是怎么指定。
    我给几个代码,供你参考:
    【我写的一个类似的插件,可以比较方便的调用: crazyTableQuery插件下载

    假设你的layui table 的id = 'demo'

    1、获取当前渲染出来的table
        $('#demo').next().find('.layui-table-box')
    2、获取表头
        $('#demo').next().find('.layui-table-header')
    3、获取当前渲染出来的table的body部分
        $('#demo').next().find('.layui-table-box').find('.layui-table-main')
    $('#demo').next().find('.layui-table-main') // 这样写也可以,layui-table-main 只有1个
    $('#demo').next().find('.layui-table-main').find('table') // 这样写也可以

    // 不能直接定位 layui-table-body,因为可能存在两个(一个在box下面,一个在fixed下面-固定列)
    $('#demo').next().find('.layui-table-body')
    4、获取当前渲染出来的table的头工具栏toolbar
        $('#demo').next().find('.layui-table-tool')
    5、获取table中所有的tr
        $('#demo').next().find('.layui-table-main').find('tr')  // 这样获取的是一个数组,里面包含所有的tr
    6、获取table中 第3行的tr
        // 方法1:直接定位data-index
    $('#demo').next().find('.layui-table-main').find('tr[data-index="3"]')

    // 方法2:从数组中获取
    $('#demo').next().find('.layui-table-main').find('tr').eq(3)
    7、获取 第3行、field=‘xxxxx’ 的单元格(假设有一个字段是 xxxxx)
        // 直接定位
    $('#demo').next().find('.layui-table-main').find('tr[data-index="3"]').find('td[data-field="xxxxx"]')
    0 回复
  • @CrazyYi 指定单元格是指比如修改第三行第四列单元格的内容,你发的第七条好像用得上但是获取得的东西我还是看不懂。
    0 回复
  • CrazyYi
    2天前
    @见鬼愁 记得,行从第0行开始计算,所以第3行,实际是 data-index="2"
    0 回复
  • 0 回复