I was trying to do this with JQuery - imagine htmlOptions is a client-side cache of option values to put in a select box, ctrl is the id of the box, and id is the current selected value:
function loadDropDown(htmlOptions, ctrl, id) {
$(ctrl).html(htmlOptions);
$(ctrl).val(id);
}
It worked great on everything but IE 6.0. Then I got the big, fat "Could not set the selected property. Unspecified error." Turns out there is a little bit of a timing issue with the DOM. After scouring the 'net for solutions, I finally settled on this as my favorite - no crazy browser hacks to determine the type and version, IE 6.0 gets the short end of the stick as it deserves:
function loadDropDown(htmlOptions, ctrl, id) {
$(ctrl).html(htmlOptions);
try {
$(ctrl).val(id);
}
catch(ex) {
setTimeout("$('" + ctrl + "').val('" + id + "')",1);
}
}
It's just enough delay to let the DOM settle and not complain.
