gpt4 book ai didi

javascript - DHTMLX 动态填充组合

转载 作者:行者123 更新时间:2023-11-30 22:23:25 25 4
gpt4 key购买 nike

我有一个工作的 DHTMLX 网格,它有许多包含组合框的列。在先前的组合框中进行选择后,其中一些组合框需要动态填充数据。

例如。

如果用户在项目组合框中选择项目 1234,则作业组合框应仅显示属于项目 1234 的作业的结果。

有人告诉我使用以下函数和方法,但无法弄清楚如何正确应用它们。

主要APP Javascript代码:

JoineryItems = timesheetGrid.getColumnCombo(6);

timesheetGrid.attachEvent("onEditCell",function(stage,rId,cInd,nValue,oValue){
if(cInd == 4 && stage == 2) {
JoineryItems.clearAll();
JoineryItems.load("data/combo/JoineryItems.php?Project="+nValue);
}
else {}
});

在服务器端组合连接器中使用以下 PHP 代码

$Project = $_GET[Project];
include_once '../../includes/db_connect.php';
include_once '../../includes/functions.php';
require_once("../../codebase/connector/combo_connector.php");

$data = new ComboConnector($res, "MySQL");
$data->render_sql("SELECT jmpJobID as value, jmpJobID as label from Inf_Jobs where jmpClosed = 0 AND jmpProjectID = $Project",
"jmpJobID",
"jmpJobID(value),jmpJobID(label)"
);
?>

目前我无法使以下功能正常运行:

JoineryItems.clearAll(); - 即使在代码运行后,该代码似乎也没有做任何事情,JoineryItems 组合框仍然包含值。

JoineryItems.load(...); - 使用浏览器检查器,我可以看到结果以 XML 格式显示,但值不正确,而不是值和标签相同,标签正确显示,值显示为一串奇数数字,我不能确定他们来自哪里。

只要 onEditCell 事件附加到网格,我的单元格值的更新不会在页面刷新后发生。例如。如果用户将工作日期从 3 月 2 日更改为 3 月 3 日,则单元格显示 3 月 2 日,直到页面刷新,此时它显示 3 月 3 日,如果在页面刷新之前进行了多次更改仅进行最后一次更改。

最佳答案

您的 JavaScript 代码看起来不错,但缺少一个条件:

timesheetGrid.attachEvent("onEditCell",function(stage,rId,cInd,nValue,oValue){
if(cInd == INDEX_OF_PROJECT_COLUMN){
JoineryItems.clearAll();
JoineryItems.load("data/combo/JoineryItems.php?Project="+nValue);
}
});

附加 if 条件将阻止在编辑项目列以外的任何其他单元格时清除作业组合。 INDEX_OF_PROJECT_COLUMN 将是您拥有项目组合的列的索引值。此外,我还删除了额外的 js 变量 ProjectID,因为在给定的代码中没有必要创建它,但这取决于您。我也不知道 PHP,但只要返回的数据是组合支持的,那么它就可以正常工作。您可以查看this link对于支持的数据类型。希望对您有所帮助。

关于javascript - DHTMLX 动态填充组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36047212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com