我正在尝试使用下拉复选框列表筛选甘特图。这是我的密码
指数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处理程序,该处理程序将根据该变量的值过滤gantt。
然后,在combo的onCheck处理程序中,使用combo的选择状态更新范围变量,并调用甘特图重绘以调用过滤
您的代码可能如下所示:
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];
});
}
问题内容: 我想过滤结果。 有一个葡萄酒清单,我的愿望是当未选中任何复选框时,将显示整个葡萄酒清单。 当仅选中1个复选框时,显示相关类别 当选中多个复选框时,将显示相关类别 我是AngularJS的新手,我尝试了ng-model都没有成功,这是没有与函数关联的ng-model的代码: 如何使用ng-model或ng-change将功能与每个复选框按钮相关联以具有实时过滤模型? 问题答案: 只是添加
我有一个小问题与复选框集成在谷歌地图控件。 在谷歌地图API v3文档中,它说你可以使用“自定义控件”(https://developers.google.com/maps/documentation/javascript/examples/control-custom),但没有关于下拉框的内容。我在网上冲浪,发现了布里亚纳·沙利文的这个例子: http://vislab-ccom.unh.edu
甘特图用于比较类别之间的数据。此外,它还可用于识别每个过程所花费的时间。 它显示了一段时间内任务值的进展。它在一段时间内广泛用于项目管理和其他类型的变异研究。 除时间维度外,甘特图也采用维度和度量。 例如,使用Sample-Superstore数据源,可以按照每种类型的发运模式进行运输。对于创建,甘特图遵循程序如下: 第1步:转到工作表。 单击“标记(Marks)”窗格中的下拉按钮。 从给定列表中
主要内容:什么是JFreeChart 甘特图,JFreeChart 甘特图的示例什么是JFreeChart 甘特图 甘特图是一种条形图,常用于计划和安排项目任务和事件。 下图显示了 JFreeChart 库中包含的甘特图的一些演示版本: JFreeChart 甘特图的示例 让我们以人口数量作为样本数据。 软件开发阶段 预计日期 实际日期 需求分析 2017-07-03 2017-07-07 2017-07-03 2017-07-05 需求设计 2017-07-10 201
本文向大家介绍vue.js实现单选框、复选框和下拉框示例,包括了vue.js实现单选框、复选框和下拉框示例的使用技巧和注意事项,需要的朋友参考一下 Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势。下边以单选框、复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式。 一、单选框 在传统的HTML中实现单选框的方法如下: 注:这里name属性值必
问题内容: 我想设计一个复选框下拉列表,并使复选框为多选。我使用了下面的代码,但是由于每次单击复选框时模板都会刷新,因此无法进行多项选择,请提出一些建议吗? 问题答案: 您可以使用诸如 angularjs-dropdown-multiselect之类的 指令,您可以在互联网上很容易找到它 以下是一些示例: angularjs-下拉菜单,多选 - 小提琴 multiselectDropdown -