I did look at the 'livequery', however it still did not seem to solve
my issue.

As for the above code working, you must do the following steps to see
my issue.

1)  Load the Page
2) Click on one of the options.
3) A alert appears.
4) Click on the Radio Button 'Sort Desc'
5) Item are re-sorted
6) Click on one of the options.
7) NO alert appears... It should



On Apr 21, 10:11 am, mkmanning <michaell...@gmail.com> wrote:
> Your example code works fine for me. Your event is hard-coded (not the
> best approach btw), and you're not overwriting the inputs (so you
> wouldn't need .live() or the livequery plugin. Can you be more
> specific about what you see happening?
>
> On Apr 21, 7:21 am, Blaine <bla...@worldweb.com> wrote:
>
> > Hi,
>
> > I'm currently building a list when the document is ready, then
> > performing a sort on the list if the user clicks "sort Asc" or "sort
> > Desc". However, when the list is sorted and redisplayed, I lose the
> > original "click" event.
>
> > How can I keep this event after sort?
>
> > Below is example code:
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> > <html>
> > <head>
> > <title>Untitled Document</title>
> > <meta http-equiv="Content-Type" content="text/html;
> > charset=iso-8859-1">
> > <script type="text/javascript" src="http://www.google.com/jsapi";></
> > script>
>
> > <script language="JavaScript" type="text/javascript">
> >         google.load("jquery", "1.2.6");
> > </script>
>
> > <script language="JavaScript" type="text/javascript">
> > jQuery.fn.sort = function() {
> >         return this.pushStack( jQuery.makeArray( [].sort.apply( this,
> > arguments ) ) );
>
> > };
>
> > $(document).ready( function(){
>
> >         for( var i = 1; 10 > i; i++){
> >           var elm = $("<li />");
> >           var a = $("<a />").append( document.createTextNode( 'click:
> > ' + i ) );
> >           $(a).click( function(){ alert('click:');   });
> >           $(a).addClass("boldface");
> >           $(elm).append(a);
>
> >                   $('#list').append( elm );
> >         }
>
> > });
>
> > function sortFunction(){
> >         var elms =[];
> >         if ( $('#sortDesc:checked').length > 0 ){
> >                 elms = $('#list li').sort( function (a,b){
> >                         if ( $(a).text() == $(b).text() ){ return 0; }
> >                 return ($(a).text() > $(b).text() ) ? -1 : 1;
> >                 });
> >         }else{
> >                 elms = $('#list li').sort( function (a,b){
> >                         if ( $(a).text() == $(b).text() ){ return 0; }
> >                 return ($(a).text() < $(b).text() ) ? -1 : 1;
> >                 });
> >         }
>
> >         $('#list li').remove();
> >         $('#list').append( elms );
>
> > }
>
> > </script>
>
> > </head>
>
> > <body>
>
> > TEST LIST <P/>
> > <input type="radio" id="sortDesc" name="sort" value="desc"
> > onClick="sortFunction()">Sort Desc
> > <input type="radio" id="sortAsc" name="sort" value="asc"
> > checked="checked" onClick="sortFunction()">Sort Asc
> > <ol id="list">
> > </ol>
>
> > </body>
> > </html>

Reply via email to