使用hansontable插件的依赖列

时间:2013-05-09 14:08:43

标签: jquery jquery-plugins handsontable

我正在使用jQuery handsontable plugin,我想知道是否有任何方法可以使用“依赖”列。

这是,当我更改一列时,另一列会根据之前的列值进行更新。

我的一个专栏是致电location,自动完成会显示可能的位置列表。 (城市+邮政编码+国家) 这是正确的,但是,在我的数据库中,我只为每个位置存储id。因此,我需要一个隐藏的列来存储它(我已经创建了它),但是当用户使用自动完成更改location列时,我需要它来更新。

这有可能吗?我没有在文档中或在互联网上找到任何内容。

感谢。

1 个答案:

答案 0 :(得分:1)

是的,我出于与你原因相同的原因完成了这项工作

使用afterChange事件...

afterChange: function (changes, source) { AfterChange(changes, source); }

...您可以更改其他单元格的值...

function AfterChange(Changes, Source) {
    if (Source === 'loadData') {
        return; //don't do anything on load
    }
    var rowIndex = 0, columnID = 1, oldTextVal = 2, newTextVal = 3, ntv = '', nv = '';
    $(Changes).each(function () {
        if (this[columnID] === 'RegionID') {
            //Make sure nothing else happens when these columns are set through below, to avoid circular references
        }
        else if (this[columnID] === 'RegionName') {
            ntv = this[newTextVal];
            //I have a dropdown used for filtering which has the id as value where I get the id from
            nv = $('#RegionsFilterDropdown option').filter(function () { return $(this).text() === ntv; }).val();
            $container.handsontable('setDataAtCell', this[rowIndex], 12, nv);
        }
    });
}

我希望这会有所帮助......