Селектор jQuery не обновляется после динамического добавления новых элементов

Мой селектор:

$('section#attendance input:last')

Однако я добавляю еще один ввод в раздел # посещаемость. Мне нужен селектор чтобы теперь выбрать этот элемент (как и должно быть, из-за : last . Однако по какой-то причине это не так, и я не совсем уверен, почему?

Вот мой полный код:

$('section#attendance input:last').keydown(function(e) {
        if (e.which == 9)
        {
            var $this = $(this);
            var num = parseInt($this.attr('name').match(/\d+(,\d+)?/)[0]) + 1;
            $this.parent().append('<input type="text" name="attendance[' + num +']" value="Name and Position" class="medium" />');
        }
    });

Новый код:

    $("section#attendance").on("keydown", "input:last", function(e) {
    if (e.which == 9) {
        var $this = $(this);
        var num = parseInt($this.attr('name').match(/\d+(,\d+)?/)[0]) + 1;
        $this.after('<input type="text" name="attendance[' + num +']" value="Name and Position" class="medium" />');
    }
});

РЕДАКТИРОВАТЬ: Проблема, похоже, связана с 'input: last', поскольку она работает, если я просто использую input. Кроме того, если я добавляю класс 'last' к последнему элементу, он работает, когда Я использую input.last в качестве селектора.

14
задан chintanparikh 19 February 2012 в 04:35
поделиться