我正在使用jQuery handsontable plugin,我想知道是否有任何方法可以使用“依赖”列。
这是,当我更改一列时,另一列会根据之前的列值进行更新。
我的一个专栏是致电location
,自动完成会显示可能的位置列表。 (城市+邮政编码+国家)
这是正确的,但是,在我的数据库中,我只为每个位置存储id
。因此,我需要一个隐藏的列来存储它(我已经创建了它),但是当用户使用自动完成更改location
列时,我需要它来更新。
这有可能吗?我没有在文档中或在互联网上找到任何内容。
感谢。
答案 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);
}
});
}
我希望这会有所帮助......