2017-10-13 96 views
0

我有一个使用DHTMLXCombo为我的甘特滤波器创建的组合框。但由于某些原因,当我添加附加事件时,它停止了切换。谁能告诉我这里有什么问题,任何的帮助深表感谢下拉式复选框不能切换

下面

是我的代码:

HTML

<body onload="multiselect_filter()"> 
<select id="search_type" mode="checkbox" style="display:inline-block;"> 
    <option value="ALL" checked="1">ALL</option><option value="ALL" checked="0">ALL</option> 
    <option value="one">one</option> 
    <option value="two">two</option> 
    <option value="three">three</option> 
    </select> 
</body> 

的Javascript:

var search_type_combobox; 
var search_type_value = {'ALL': true}; 
//FILTER BY TYPE 
function multiselect_filter(){ 

    //SEARCH TYPE 
    search_type_combobox = dhtmlXComboFromSelect("search_type", "combo", 100, "checkbox"); 
    search_type_combobox.enableFilteringMode(true); 

//IT STOP TOGGLING WHEN I ATTACH THIS EVENT 
    search_type_combobox.attachEvent("onCheck", function(value, state){ 
     var values = search_type_combobox.getChecked(); 
     search_type_value = {};// put combo value into scope variable 
     for(var i = 0; i < values.length; i++){ 
      search_type_value[values[i]] = true;// build hash for easy check later 
      console.log(i); 
      console.log(value); 
      console.log(search_type_value); 
      console.log(search_type_value[values[i]]); 

     } 
     gantt.render();// and repaint gantt 
    }); 
    <!--Filter gantt by value of the scope variable--> 
    gantt.attachEvent("onBeforeTaskDisplay", function (id, task) { 
     if(search_type_value['ALL']) 
      return true; 
     return !!search_type_value[task.search_type]; 
    }); 
} 

回答

0

不幸的是,问题就不能重构本地。

如果您使用的是旧版本的dhtmlxCombo(< 4.4),请尝试从您的onCheck事件中“返回true”。

如果问题仍然存在,请您分享演示链接,问题可以在哪里复制。

+0

嗨,@sematik,感谢您的答复,我使用dhtmlx 4.2,不幸的是我不能给你测试代码,因为它的机密。但它的几乎几乎相同,除了这个选项是从我的数据库使用jinja for循环填充。 –

+0

* dhtmlxGantt/Suite 4.2。 –

+0

请尝试从您的onCheck事件“返回true” – sematik