2013-12-08 5 views
1

Ниже приведен мой сценарий, в котором я создаю li onclick кнопки, но проблема заключается в том, что лики, созданные после нажатия кнопки добавления, не удаляются, когда я нажимаю кнопку удаления. Пожалуйста, дайте мне знать, что я сделал неправильноУдаление Li не работает для динамического li

<p> 
     <ul class=""> 
     <li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li> 
     </ul> 
     </p> 
     <p> 
     <input type="button" name="butadd" id="butadd" value="+ Add New" /> 
     </p> 

    $(document).ready(function() { 


      $('.liDelete').click(function() { 
     li = $(this).parent(); 
     li.remove(); 
    }); 


     $("#butadd").click(function() { 
      $("ul").append("<li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li>"); 

     }); 
    }); 

ответ

1

Попробуйте это: .on событие.

демоhttp://jsfiddle.net/mT5vw/1/

$(document).ready(function() { 
    $(document).on('click', '.liDelete', function() { 
     li = $(this).parent(); 
     li.remove(); 
    }); 
    $("#butadd").click(function() { 
     $("ul").append("<li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li>"); 
    }); 
}); 
+0

эй Я бегу '$ ('# папки Li'). Каждая (функция (е)' функция тоже, и мне интересно, как удалить активный Ли в этом случае ? – user3027531

+0

@ user3027531 Я считаю, что вы нашли решение уже здесь: http://stackoverflow.com/questions/20453953/remove-respective-li-from-all ':)' –

0

Вы должны использовать event delegation, поскольку, когда обработчик регистрируется динамических элементов не существует.

$('ul').on('click', '.liDelete', function() { 
    var li = $(this).parent(); 
    li.remove(); 
}); 

Демо: Fiddle

Смежные вопросы