Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery event not working after append

http://jsfiddle.net/YsnhT/2/

Jquery event on is not working after the append. I need the value of textarea after I click save button.

$('.span8')
    .on('click',
            '.btn',
            function() {
        var input = $("#textarea").val();
        alert(input);
    });

$('body').on('click','#createNote',function() {                $('.span8').empty();
                $('.span8').append('<button type="button" class="btn" style="float: right; margin-right: 8px;background-color:#dddddd;font-family:Roboto Slab;color: black" id="save" data-loading-text="Saving...">Save</button><div class="hero-unit"><input type="text" style="width: 100%" id="title" placeholder="Title"/>'+ 
                '<textarea contenteditable="true" id="textarea" class="textarea" placeholder="Enter text ..."style="width: 100%;">dd</textarea></div>');

            });

HTML:

<div class="span8"></div>
like image 487
shashank Avatar asked May 09 '13 12:05

shashank


3 Answers

Since #save is dynamically created, use the following handler:

$(document).on('click', '#save' ,function() {
    //do stuff
});

Updated fiddle: http://jsfiddle.net/tymeJV/YsnhT/3/

You should also make your "click" button handler like this, or else it will not fire on newly created #click buttons.

like image 104
tymeJV Avatar answered Sep 28 '22 18:09

tymeJV


Simply delegate the event in dynamic format:

$(document).on('click', '#save' ,function() {
    //do stuff
})

And perhaps do the same for:

$(document).on('click', '#click' ,function() {
    //do stuff
})
like image 22
flavian Avatar answered Sep 28 '22 18:09

flavian


save is creating dynamically here.So try to using on

$(document).on('click', '#save' ,function() {
});
like image 26
PSR Avatar answered Sep 28 '22 18:09

PSR