Hi Mariusz Jakubowski
I manage to put a little fix in your code for the not working in IE8 problem.
just change the _setValueAttr function to as the following. It works for me.
_setValueAttr: function(/* Array */values){
<strong><span style="font-family:courier new,courier,monospace;"> <span style="font-size:14px;"><em>dojo.forEach(this.dropDown.getChildren(), function(node, i) {</em></span></span></strong></div>
<span style="font-size:14px;"><em><strong><span style="font-family: 'courier new', courier, monospace;"> var checked = dojo.indexOf(values, node.option.value) != -1;</span></strong></em></span></div>
<span style="font-size:14px;"><em><strong><span style="font-family: 'courier new', courier, monospace;"> node.attr("checked", checked);</span></strong></em></span></div>
<span style="font-size:14px;"><em><strong><span style="font-family: 'courier new', courier, monospace;"> });</span></strong></em></span></div>
this.inherited(arguments);
// save new value in hidden inputs (first destroy old inputs)
dojo.query(this.domNode).query("input[name=" + this.name + "]").forEach(function(node) {
dojo.destroy(node);
});
dojo.forEach(this._getValueAttr(), function(val) {
dojo.create("input", { name: this.name, type: "hidden", value: val}, this.domNode);
}, this);
},
Thanks for the code, it really save a lot of my trouble. And all the best for the contest.