javascript - Fill a cell with a value only if combo box option is selected
问题描述
我正在 dhtmlx 上开发一个网络应用程序。我有一个有 3 列的网格。第一个是组合,另外两个是可编辑的。所有行一开始都是空白的。用户必须从组合中选择一个选项并在其他两个选项中输入一个金额。当他输入一个金额时,另一个被禁用,反之亦然。当他在组合上选择一个选项后单击下一行时,我希望最后一个可编辑单元格的数量填充新行第二列的单元格。例如,如果我有 (1,1) 100 我希望在第 2 行的组合选择之后 (2,2) 也填充 100。我尝试了此代码,但仅在我第二次单击并编辑(1,1)时才填充(2,2)。我究竟做错了什么?
myGrid.attachEvent("onEditCell", function (stage, rId, cInd, nValue, oValue) {
if (stage === 2 && myGrid.cells(rId, 1).getValue() !== "0" && myGrid.cells(rId, 0).getValue() !== "") {
var x = myGrid.cells(rId, 1).getValue();
myGrid.cellById(rId, 2).setDisabled(true);
if (myGrid.cells(rId + 1, 0).getValue() !== "") {
myGrid.cells(rId + 1, 2).setValue(x);
myGrid.cellById(rId + 1, 1).setDisabled(true);
return true;
}
return true;
} else if (stage === 2 && myGrid.cells(rId, 2).getValue() !== "0" && myGrid.cells(rId, 0).getValue() !== "") {
var x = myGrid.cells(rId, 2).getValue();
myGrid.cellById(rId, 1).setDisabled(true);
if (myGrid.cells(rId + 1, 0).getValue() !== "") {
myGrid.cells(rId + 1, 1).setValue(x);
myGrid.cellById(rId + 1, 2).setDisabled(true);
return true;
}
return true;
}
});
具有值的单元格最后必须都是可编辑的。
解决方案
如果我说对了,您可以尝试执行以下操作:http: //snippet.dhtmlx.com/b32986bf1
推荐阅读
- python - 我们可以将已经创建的 Django API 转换为 Lambda 函数吗?
- kubernetes - 错误:为 prometheus 适配器自定义指标生成指标查询时未请求资源名称
- database-design - TimescaleDB 和 Loopback4 Timestamp 数据类型兼容性
- python - 如何从 .xacro 文件中自动提取 xacro 属性并将其用于 ROS 的 python 脚本中
- swift - AWS S3 :- 重新启动应用程序时如何获取失败的 AWSS3TransferUtility 任务?
- firebase - 根据闭包上下文的要求,返回类型“LoginPage”不是“void”
- c# - 在多个页面中划分一个列表框 (Visual Studio C#)
- c# - C#在数组中搜索一系列值
- c# - 在 Excel 工作表上调整大小/移动 WinForms 控件
- http - 如何防止在 chrome 和 firefox 中从 http 重定向到 localhost 上的 https?