1

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

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

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

这有可能吗?我在文档或互联网上都没有找到任何东西。

谢谢。

4

1 回答 1

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);
        }
    });
}

我希望这有帮助...

于 2013-06-27T23:09:21.240 回答