Возможно ли изменение JQuery () по сравнению с недостатком Javascript? - PullRequest
1 голос
/ 10 октября 2011
  1. У меня есть форма, в которой пользователь может динамически добавлять поля (клонирование и увеличение индекса).Для этого я использую плагин sheepit .Вам не нужно копаться в этом плагине, чтобы ответить на этот вопрос.

  2. Внутри это дополнительные поля (которые будут клонированы и увеличен индекс) У меня есть выборэлемент, который предупреждает идентификатор элемента (фактически он заполняет различные поля в зависимости от ввода, но облегчает для лучшей иллюстрации).ОЧЕНЬ упрощенный код для этой функции, который вы найдете в конце.

Проблема в том, что если пользователь добавляет дополнительные поля (1.), событие «change» из функции jquery делаетне привязываться к новому созданному полю.Так что (2.) не работает для нового поля.

Если бы я сделал это с Javascript и добавил бы в html событие onchange, это бы сработало.

Как я могу это сделатьс jquery?

Вот очень упрощенный код:

change ()

$(document).ready(function() { 
 $('.viewSelector').change(function() 
    {             
        //GET THE ID            
        var idint = $(this).attr('name');          
        alert(idint);
    });
});

Я ТОЛЬКО хочу, чтобы эта функция работала также на новых созданных полях.

1 Ответ

1 голос
/ 10 октября 2011

Просто используйте live():

$(document).ready(function() { 
  $('.viewSelector').live('change', function() {             
    //GET THE ID            
    var idint = $(this).attr('name');          
    alert(idint);
  });
});

Это свяжет событие с любыми новыми элементами, добавленными в DOM, которые соответствуют вашему селектору

...