Im using dhtmlxCombo with big unicode datasets (it means From dynamic XML source, with auto sub-load) it works Properly but the filtering and Autocomplete did not work. I must press a ascii character for example space or right or left arrow key till it work.
any suggestion Please?
Combo uses onkeyup event to monitor changes in input.
If such event was generated and pressed key is not an “enter” or “backspace” - the combo will filter self.
If you are using some non default text entering method - it possible that onkeup event is not generated.
The filtering can be triggered manually , by calling
combo.filterSelf();
Yes I know it uses onkeyup event, it works properly fro english text for example (a, b , c or d) but when Im wirting some non-english right to left text for example farsi characters like (م، ص، آ or ژ) it’s apear the combo do not filter it self Automaticly!
>If you are using some non default text entering method
what do you mean non defaul text enetering? Im using normal keyboard to type texts!
Thank you so much for your kind support
Mohammad
what do you mean non defaul text enetering? Im using normal keyboard to type texts!
Browser support some special input ways for complex languages , which may generate events slightly different.
You can try to add custom event handler to combo and force updates on keypressing
dhtmlxEvent(combo.DOMelem_input,“keypress”,function(){
combo.filterSelf();
});
Im tested on
IE 7.0.6000.16681 Everything works properly
IE 6.0.2900.2180, keypress event not fired when enetering unicode character
FF 2.0.0.14, keypress event not fired when enetering unicode character
So How can I force update when cant grab the keypress event!?
So How can I force update when cant grab the keypress event!?
Whilt it is a pretty rough solution, you can try next
var old="";
window.setInterval(function(){
var text = combo.getComboText();
if (text!=old)
combo.filterSelf();
old=text;
},500);
With such aproach code will check value of combo twice per second and if it was changed - it will force filtering.
Since now I found:
this.DOMelem_input.onkeydown did not grab so _onKey function which call _onKeyB which calls selfFilter did not called! merged _onKeyF and and _onKey functions and comment this line
//this.DOMelem_input.onkeydown = this._onKey;
now everything works properly in all the bowser which i called…
What’s your Idea?
Mohammad
The existing key events separation was implemented in such way to process tab-key correctly ( in some browser it may be catched only from onkeydown event )
The update itself is safe and must not cause any side effects.
We will investigate situation more closely and may be change the way of key events binding in next version of dhtmlxCombo, to prevent such problems.