【发布时间】:2011-08-09 21:28:03
【问题描述】:
这就是我想要完成的。我有一个网格,其中包含用户可以“批量更新”的条目,即用户可以从网格中选择一个或多个条目,从网格上方的表单中选择他们想要应用于所有条目的值,然后提交.
我想要完成的是在所有更改行上完成的 highlight()。我遇到的问题是我不知道如何一次对所有更改值运行 highlight() ,所以我一直在单独进行。我可能只是在错误的循环中运行。这是我正在做的更新值的操作。
// for every property we have in our batchUpdateValues
for (var propertyName in batchUpdateValues) {
// change the selected banners attributes to match
for (var i = 0 ; i < bannersToUpdate.length ; i++)
{
// if they've selected "Name", we only want to append, not replace"
var oldName = bannersToUpdate[i].get('bannerName');
if (propertyName == 'bannerName') {
bannersToUpdate[i].set(propertyName, oldName + ' ' + batchUpdateValues['bannerName']);
} else {
bannersToUpdate[i].set(propertyName, batchUpdateValues[propertyName]);
}
var changedRowId = this.getStore().indexOf(updatedBanners[i]);
var changedRow = this.getView().getRow(changedRowId);
Ext.get(changedRow).highlight();
}
}
现在发生的情况是,如果用户选择 4 个“属性”来更新表单,高亮显示运行 4 次,所以我需要将该代码放在循环之外。如何获取每一行的所有 DOM 属性,然后在它们上运行高亮显示()?
【问题讨论】:
标签: javascript extjs grid highlight