首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Checkbox和Handsontable

Checkbox和Handsontable
EN

Stack Overflow用户
提问于 2017-09-29 03:41:17
回答 1查看 813关注 0票数 0

我有一个位于我的Handsontable之外的复选框。我的Handsontable是通过ajax填充的。我想根据checkbox的值隐藏和显示Handsontable列。下面是我的代码的样子

代码语言:javascript
复制
  Handsontable.dom.addEvent(mycheckbox, 'change', function () {
            var hot = $container.data('handsontable');
            if (mycheckbox.checked) {
                hot.updateSettings({
                    hiddenColumns: {
                        columns: [0],
                        indicators: true
                    }
                })
            }
            else {
                hot.updateSettings({
                    hiddenColumns: {
                        columns: [0,1,2],
                        indicators: true
                    }
                })
            }
        });

此代码仅在您选中或取消选中复选框时执行,并且运行良好,但我还想在页面加载事件上或在加载Handsontable时使用此代码。

EN

回答 1

Stack Overflow用户

发布于 2017-09-29 04:07:32

尝试使用Handsontable事件挂钩。在将新数据加载到数据源数组中后,afterLoadData钩子将运行回调。如果这不是您要查找的正确位置,您可以将钩子事件替换为适当的钩子事件,就像我之前在init中提到的那样。

因此您可以将该函数作为afterLoadData钩子回调

代码语言:javascript
复制
var example = document.getElementById('example');
var checkbox = document.getElementById('checkbox');

// use event hook and add custom callback
// this will hide column 2 if checkbox is initially checked on 
// page load
Handsontable.hooks.add("afterLoadData", function() {

  if (checkbox.checked) {
      this.updateSettings({
        hiddenColumns: {
          columns: [2],
          indicators: true
        }
      })
    } else {
      this.updateSettings({
        hiddenColumns: {
          columns: [1],
          indicators: true
        }
      })
    }

});

下面是实际操作的jsbin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46477076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档