- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用下拉复选框列表来过滤我的甘特图。这是我的代码
index.html
<label class="text-primary" for="department">Select by Departments: </label>
<select id="department" style="width:200px; height:20px; " mode="checkbox">
<option value="ALL" selected="1" >ALL</option>
<option value="ARTIST">ARTIST</option>
<option value="ADMIN">ADMIN</option>
<option value="LEAD">LEAD</option>
<option value="HR">HR</option>
<option value="PRODUCTION">PRODUCTION</option>
<option value="MANAGEMENT">MANAGEMENT</option>
<option value="TECHNOLOGY">TECHNOLOGY</option>
</select>
函数
<script>
var myCombo;
function checkbox_department() {
myCombo = dhtmlXComboFromSelect("department");
myCombo.attachEvent("onCheck", function(value, state){
gantt.attachEvent("onBeforeTaskDisplay", function (id, task) {
var department_value = value
if (task.job_category == department_value || department_value == 'ALL') {
console.log(value);
return true;
}
});
gantt.render();
});
}
</script>
job_category 来自 JSON 文件。
到目前为止,我设法使用我选中的任何第一个复选框来过滤甘特图,但是当我选中另一个复选框时,假设我选中了艺术家和制作,一切都消失了,它会显示在控制台日志中
3PRODUCTION
7ARTIST
2PRODUCTION
52ARTIST
PRODUCTION
51ARTIST
2PRODUCTION
3ARTIST
PRODUCTION
22ARTIST
结果会是这样,如果我只是在屏幕上打印整个内容会更容易,但我正在使用我的办公室桌面并且文件上传被阻止。谁能帮我解决这个问题,在此先感谢
最佳答案
每次用户检查组合值时,您的组合都会添加一个 onBeforeTaskDisplay 处理程序,而当选项未选中/未选择时,永远不会删除以前添加的处理程序。我建议将组合框选择存储在某个范围变量中,并仅声明一个 onBeforeTaskDisplay 处理程序,该处理程序将按该变量的值过滤甘特图。
然后,在组合的 onCheck 处理程序中,您使用组合的选择状态更新范围变量并调用甘特重绘以调用过滤
您的代码可能如下所示:
var myCombo;
function checkbox_department() {
var department_value = 'ALL';
myCombo = dhtmlXComboFromSelect("department");
myCombo.attachEvent("onCheck", function(value, state){
department_value = value;// put combo value into scope variable
gantt.render();// and repaint gantt
});
// filter gantt by value of the scope variable
gantt.attachEvent("onBeforeTaskDisplay", function (id, task) {
if (task.job_category == department_value || department_value == 'ALL') {
console.log(value);
return true;
}
});
}
这里是一个简化的演示,以防我在解释和代码示例中出错 http://docs.dhtmlx.com/gantt/snippet/b6053d50
更新:
如果您有一个多选组合,您可能需要一些不同的代码。以下内容应该有效:
var myCombo;
function checkbox_department() {
var department_value = {'ALL': true};
myCombo = dhtmlXComboFromSelect("department");
myCombo.attachEvent("onCheck", function(value, state){
var values = myCombo.getChecked();
department_value = {};// put combo value into scope variable
for(var i = 0; i < values.length; i++){
department_value[values[i]] = true;// build hash for easy check later
}
gantt.render();// and repaint gantt
});
// filter gantt by value of the scope variable
gantt.attachEvent("onBeforeTaskDisplay", function (id, task) {
if(department_value['ALL'])
return true;
return !!department_value[task.job_category];
});
}
关于javascript - 用于甘特图的 DHTMLX 多选下拉复选框过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383136/
我使用过移动调度程序并想将数据存储到本地 sqlite 数据库中,我使用的是 android 应用程序,所以我有 html 文件,而不是 php。 谁能帮我在从调度程序添加新数据时将数据存储到 sql
如何从 DHTMLX 网格中选择一行的列并将其拖放到 DHTMLX 表单的文本框中并设置值? 最佳答案 没有标准功能来实现此类用例。 可以将表单注册为放置区域,因此将行从网格拖动到表单将产生一个事件。
我有这两个表:gantt_tasks 和 gantt_links,我成功将任务添加到第一个表,但如果我尝试添加链接,则会出现此错误。 java.lang.ClassCastException: com
我正在使用 DHtmlxGantt。在我的甘特图中,我有一些任务。 我的问题是“DHtmlxGantt 图表中时间刻度的默认开始值和结束值是多少”。 我知道我们可以使用 gantt.config.st
使用 DHTMLX Pro,我尝试将行添加到我的表中。 header 部分加载正常,但其他行未加载到表中。这是我的代码, 使用 Require.js 包含 'dhtmlxcommon', 'dhtml
我的 dhtmlx 时间线不断跳过几周,而不是从周末跳到星期一。我不明白它为什么这样做。我添加了一些应该可以解决此问题的代码,但事实并非如此! # 到目前为止,当我点击转到下周时,它会一次跳过多个星期
我对这个dhtmlx比较陌生。我必须基于复选框选择来编辑值。我正在尝试做。但是不知何故,它引发了异常。尝试了几乎所有可能的API选项。但是似乎没有任何作用。 var x = document.getE
我在我的 MVC3 项目中使用 DHTMLX Scheduler。一切都很好,但在该事件调度程序页面中,我使用了一种表单来输入一些外部数据。这样事件调度程序就会转到页面底部。如果我在窗口内单击以创建或
当我向日历中添加一个新事件时,除了日期和时间之外,其他所有内容都会保存,因为日期和时间没有保存到数据库中,因此该事件不会一起显示,但是当我从数据库中插入一行时,它会显示。我怀疑可能格式不对? 这是日期
我有一个工作的 DHTMLX 网格,它有许多包含组合框的列。在先前的组合框中进行选择后,其中一些组合框需要动态填充数据。 例如。 如果用户在项目组合框中选择项目 1234,则作业组合框应仅显示属于项目
我在 dhtmlx 网格中设置了一个列类型,如下所示 grid.setColumnExcellType( 0, 'ra'); 当我将列禁用为: grid.cellById(rowId, 0).setD
我在 Ruby on Rails 项目上使用 DHTMLX Grid。 如果在几个单元格上选择了某个值,我有几个启用/禁用单元格的“验证”(请参阅我关于这个问题的第一个问题 -> Change c
我目前正在为我们的项目制作一个调度模块,为了实现这一目标,我们将使用 DHTMLX 甘特图。但是,我无法存储输入甘特图中的值! 这是我的图表代码
我正在尝试构建一个应用程序,供用户提交他们的工作时间,但在将其他数据拉入网格时遇到问题。 例如:如果用户要在员工代码列中输入员工代码 0000,则员工姓名字段需要更新为“John Doe”。所有这些数
奇怪的是,不确定我的应用程序中的其他代码是否导致了此问题,但这里是。 当我第一次用数据填充网格时,它允许我立即使用过滤器。当我单击重置按钮(过滤器中带有文本)以清除网格并为下一次加载做好准备时,过滤器
有没有办法创建可滚动的DHTMLX图表(条形图或折线图)。 据我从代码中了解到,图表是在三个 Canvas 上绘制的。一种用于水平线,一种用于垂直线,另一种用于实际图表。因此,我无法使图表可滚动。 我
我使用下面的代码创建了一个 dhtmlx 窗口: self.w_pictures = new dhtmlXWindows(); self.w_pictures.enableAutoVi
我正在使用 dhtmlx 调度程序,并希望使用 addMarkedTimeSpan 方法添加标记的时间跨度作为此处的描述:http://docs.dhtmlx.com/scheduler/api__s
我正在使用DHTMLX Gantt Chart 。作为我的项目的一部分,我创建了很多自定义图层来处理图表,但遗憾的是,这使我的代码非常臃肿,必须声明每个任务要呈现为图层。我最初的想法是使用循环和对象数
我正在尝试创建一个已选中的复选框。我无法找到创建它所需的文档。 JS 函数的输入是单元格。我不知道之后该做什么。 到目前为止,这是我的代码: function eXcell_includeRC
我是一名优秀的程序员,十分优秀!