Dropdown Issue in IE with Dynamically Populated SELECT Field (Bug??)

P

philaphan80

Hello,

I'm trying to dynamically load a list of teams into a SELECT field
(dropdown / combo box) when a user clicks on the field. (The teams are
pre-loaded into JS arrays via ASP/SQL -- not shown.)

My problem is when I click on the box, the team loading *works*, but
it's performing a funky action. Upon click, it drops down once and the
teams are there. But in a split second (once the box drops down to its
bottom limit) the screen flickers and the box rolls back up to its
original state. (It almost appears as if I clicked twice on the box.)

I've tried onclick, onmousedown, onfocus... none work right. I even
tried appendChild with no luck.

I'm using Internet Explorer to view the page and I'm only targeting IE
since a very small number of users will be loading this page. I loaded
it into Firefox, Netscape and Opera just for kicks, though -- Firefox
and Netscape performed the action correctly and Opera didn't drop
anything down at all. (Nice.)

Anyway, is this a known bug in IE? Something I'm doing wrong? A
combination? Any help would be appreciated.


<select ... size="1" style="width: 175px;"
onmousedown="loadTeams(this)">
<option value="" selected></option>
</select>

<script>
function loadTeams(e) {
e.options.length = 0;
e.options.add(new Option("", "", true, false));

for (i=0; i < teamids.length; i++) {
e.options.add(new Option(teams, teamids, false, false));
}
}
</script>
 
T

Tim Williams

Hello,

I'm trying to dynamically load a list of teams into a SELECT field
(dropdown / combo box) when a user clicks on the field. (The teams
are
pre-loaded into JS arrays via ASP/SQL -- not shown.)

My problem is when I click on the box, the team loading *works*, but
it's performing a funky action. Upon click, it drops down once and
the
teams are there. But in a split second (once the box drops down to
its
bottom limit) the screen flickers and the box rolls back up to its
original state. (It almost appears as if I clicked twice on the
box.)

Why are you triggering the loading on clicking the select itself? You
would be much
better off having the optionsl oaded before the user interacts with
the select.


Tim.
 
P

philaphan80

Usually, I would agree. That would make my job *much* easier. ;)

There are several fields on the page and the users can only select the
item once (no duplicates.) Pre-loading would lead to potential
duplication. I could always check for that before submitting the
form... but then a light bulb lit above my head and I thought it would
be snazzier (that's right, I said "snazzier") to have the fields
automatically load the remaining items on each click, thus eliminating
the duplication and verification.

The part that stinks the worst is that the logic works perfectly, but
the browser seems to be doing something funky. I was wondering if
anyone else ran into this (and possibly had a workaround......??)
 
P

philaphan80

Great minds think alike. ;)

Thanks for your help, Ted. I actually thought of the same thing
yesterday and implemented it. Works great!

I think what I'm experiencing is a bug or a "quirk", if you will, in
Internet Explorer. I left my original code in the page (commented out)
since it's a lot smaller than the workaround. But after running some
more tests on IE, hope for an actual solution is fading. It seems to
be the way the actual browser behaves and not something I'm doing.

Thanks again!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,818
Latest member
Brigette36

Latest Threads

Top