If you have the latest version of jQuery you can try using the
"live" ( http://docs.jquery.com/Events/live ) functionality.

Change all of your click events to something like this:

$(".AddDisc").live("click", function() {...});






On Aug 26, 3:03 pm, James <james.gp....@gmail.com> wrote:
> You should read this for more 
> info:http://docs.jquery.com/Frequently_Asked_Questions#Why_do_my_events_st...
> Although you're not using AJAX to introduce the content into the DOM,
> it's still similar to what you're doing.
>
> On Aug 26, 7:35 am, batterhead <batterh...@gmail.com> wrote:
>
>
>
> > Hi All,
>
> > I have a page with a div that contains other divs. In the outer div, I
> > have links that add new divs inside. I also have a link outside the
> > outer div that adds more of those outer divs to the page (with an
> > inner div, and the same links to add more). This works on the div that
> > is hard coded on the page, but when I use the link to add additional
> > container divs the links inside there to add more inner divs does not
> > function. I believe it has to do with binding, but I'm not certain how
> > to fix this issue. Any assistance would be appreciated.
>
> > Here is my code:
>
> > $(document).ready(function() {
>
> >         $(".AddDisc").click( function() {
> >                 discContainerDiv = "<div class='discContainer'><div
> > class='trackContainer'><input type='text' class='trackInput' /></
> > div><div class='trackControls'><a href='#' class='AddTrack'>(++)</a>
> > <a href='#' class='RemoveTrack'>(--)</a></div></div>";
> >                 var $newDiv = 
> > $('.discContainer:last').after(discContainerDiv);
> >                 alert($newDiv.html);
> >                 return false;
> >         });
>
> >         $(".RemoveDisc").click( function() {
> >                 $('.discContainer:last').remove();
> >                 return false;
> >         });
>
> >         $(".AddTrack").click( function() {
> >                 trackContainerDiv = "<div class='trackContainer'><input 
> > type='text'
> > class='trackInput' value='dynamic div' /></div>";
> >                 
> > $(this).parent().parent().end().prev().after(trackContainerDiv);
> >                 return false;
> >         });
>
> >         $(".RemoveTrack").click( function() {
> >                 $(this).parent().parents(".trackDiv").end().prev().remove();
> >                 return false;
> >         });
>
> > });
>
> > And the HTML:
>
> > <div class='discContainer'>
> > <div class='trackContainer'>
> > <input type='text' class='trackInput' />
> > </div>
>
> > <div class='trackControls'>
> > <a href='#' class='AddTrack'>(++)</a>
> > <a href='#' class='RemoveTrack'>(--)</a>
> > </div>
> > </div>
> > <hr />
> > <a href="#" class="AddDisc">(++)</a>
> > <a href="#" class="RemoveDisc">(--)</a>- Hide quoted text -
>
> - Show quoted text -

Reply via email to