За последние 24 часа нас посетили 16603 программиста и 1680 роботов. Сейчас ищут 933 программиста ...

Не работает filter

Тема в разделе "JavaScript и AJAX", создана пользователем artem-Kuzmin, 31 май 2012.

  1. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Код (PHP):
    1. $('.add_field').click(function(){
    2.     var html='<tr><td><input type="text" class="field w98p" name="field_name[]" placeholder="Название поля"/></td><td><select name="field_type[]"><option value="string">Строковый</option><option value="numbrer">Числовой</option></select></td><td><button class="delete_fields">Удалить поле</button></td></tr>';
    3.     $(html).filter('button').click(function(){
    4.         $(this).parent().parent().empty();
    5.         return false;
    6.     }).end().appendTo('.pole_wrapper');
    7.     return false;
    8. });
    9.  
    Создает строку таблицы совсем что указано то есть весь аштмл код из переменноый аштмл но фильтер не выбирает из этого кода кнопку для назначения на нее события
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Попробуй заменить "filter" на "find".
     
  3. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Стоит попробовать а то из за того что это не работает хотя видел даже пример такого отказался от главного кучка возможностей в строку писать...
    И написал
    Код (Text):
    1. $('.add_field').click(function(){
    2.     var html='<tr><td><input type="text" class="field w98p" name="field_name[]" placeholder="Название поля"/></td><td><select name="field_type[]"><option value="string">Строковый</option><option value="number">Числовой</option></select></td><td><button class="delete_fields">Удалить поле</button></td></tr>';
    3.     $(html).appendTo('.pole_wrapper');
    4.     $('.delete_fields').click(delete_fields);
    5.     return false;
    6. });
    7. function delete_fields(){
    8.     $(this).parent().parent().remove();
    9.     return false;
    10. }
    Правда мне функция делете нужна и при инициализации поэтому выделить... Но из за того что фильтр не работает обработчик навешивается не вконтексте определенного элемента а всех $('.delete_fields')

    Добавлено спустя 49 минут 25 секунд:
    Спс все заработало...
    Для себя тоже проверил функция филтер не ищет детей... А финд у нее по доку как раз такое назначение
    $('.add_field').click(function(){ ...appendTo('.pole_wrapper'); return false; });