When I create new TASKs the "edit" (to save changes) and "delete" links stops working. What it wrong here?
I am using .on()
but it doesn't work with new elements.
html:
<ul id="incomplete-tasks">
<li>
<input type="checkbox"><label>Pay Bills</label>
<input type="text">
<button class="edit">Edit</button>
<button class="delete">Delete</button>
</li>
</ul>
jQuery:
//Add new TASK
$('#addButton').click(function(){
$("#incomplete-tasks").append('<li><input type="checkbox"><label>' + $('#new-task').val() + '</label><input type="text"><button class="edit">Edit</button><button class="delete">Delete</button></li>')
});
//Show edit mode
$("#incomplete-tasks").on("click", ".edit", function() {
//show
$(this).parent().toggleClass('editMode');
//Add label value = edit field text
var $label = $(this).children().find('label').text();
$(this).children().find('input[type=text]').val($label);
});
//Save changes when "edit"is clicked again
$('.edit').on("click", function() {
var value = $(this).parent().find('input[type=text]').val();
$(this).parent().find('label').text(value);
});
//delete task
$('.delete').on("click", function() {
$(this).parent().hide();
});
FULL CODE - http://codepen.io/tsalexey544/pen/LEqbpV?editors=101