Title: combobox onSelect() not triggering [Solved]
Post by: devnull on December 10, 2014, 03:18:09 AM
I have a function that indexes the combobox selection forwards and backwards, it does change the values however the combobox's onSelect() event does not appear to be triggering ? $.extend($.fn.combobox.methods, { index:function(me,dir){ function keyidx(arr,key,val){return arr.map(function(e){return e[key];}).indexOf(val)} var d = {}; d.val = me.combobox('getValue'); d.data = me.combobox('getData'); d.idx = keyidx(d.data,'value',d.val); if(dir==1 && d.idx < d.data.length -1) d.idx++; else if(d.idx > 0) d.idx --; d.nval = d.data[d.idx++].value me.combobox('unselect'); me.combobox('setValue',d.nval); me.combobox('select',d.nval); d = null; } })
What am I doing wrong ?
Title: Re: combobox onSelect() not triggering
Post by: jarry on December 10, 2014, 08:20:51 AM
Please try the code below instead. $.extend($.fn.combobox.methods, { index:function(me,dir){ function keyidx(arr,key,val){return arr.map(function(e){return String(e[key]);}).indexOf(String(val))} var opts = me.combobox('options'); var d = {}; d.val = me.combobox('getValue'); d.data = me.combobox('getData'); d.idx = keyidx(d.data,opts.valueField,d.val); console.log(d.idx) if(dir==1 && d.idx < d.data.length -1) d.idx++; else if(d.idx > 0) d.idx --; d.nval = d.data[d.idx++][opts.valueField] me.combobox('unselect'); // me.combobox('setValue',d.nval); me.combobox('select',d.nval); d = null; } })
|