Is this a single-selection or multiple-selection select element?

If it's single selection, then change:

$("#mySelect").find("option:selected").text()

to:

$("#mySelect").val()

This will be fast in all browsers, because it uses the .selectedIndex
property from the DOM. It won't help on a multiple selection element,
though.

For this code:

$("#mySelect").remove()

You've probably replaced it with:

$("#mySelect")[0].innerHTML = "";

Is that right? That's what I would do, assuming that there are no jQuery
event handlers on the individual option elements.

-Mike

On Mon, Sep 21, 2009 at 7:50 AM, matthew_maxwell <leftwithoutli...@gmail.com
> wrote:

>
> I've been using jQuery for a little bit now, and have noticed that
> whenever you are attempting to use jQuery on selects with a large
> amount of options, it adds a few seconds of lag to the operation.
>
> An example I ran into was when I had a select of about 4,000 options
> or so (one for every user of my site), and wanted to use jQuery to
> change from a select to a plain text field, using the following:
>
> $("#user").html( $("#mySelect").find("option:selected").text() );
>
> The time from when the user initiates the change until it actually
> completes is about 1 or 2 seconds.
>
> I notice there's also a delay when it goes to add the select back:
>
> $("#user").html(
>    $( myApp.Selects.Users.HTML ).change(
>        function () {
>                $("#user").html( $("#mySelect").find
> ("option:selected").text() );
>        }
>    )
> );
>
> The lag time also appears when I go to do a simple remove:
> $("#mySelect").remove();
>
> When I use the DOM equivalents, though, this works almost instantly.
>
> Just figured I'd give you a heads up.
>
> No other issues, though.  Solid library.  Good work.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to