mio selettore è:selettore jQuery non si aggiorna dopo l'aggiunta di nuovi elementi dinamicamente
$('section#attendance input:last')
Tuttavia, aggiungo un altro ingresso alla sezione # presenze. Voglio il selettore per selezionare la società che elemento (come dovrebbe, a causa della :last
Tuttavia, per qualche motivo, non è così, e io non sono troppo sicuro perché
Ecco il mio codice completo:.?
$('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" />');
}
});
Nuovo Codice:
$("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" />');
}
});
EDIT: il problema sembra essere sulla 'ingresso: ultima', come funziona, se mi basta usare ingresso Inoltre, se aggiungo classe 'ultima' al. ultimo elemento, funziona quando uso 'input.last' come selettore
Ehi, ci ho provato, ma per qualche motivo, non sembra funzionare. Ho aggiornato il mio post con il nuovo codice e ho esaminato i documenti per .on(), ma non riesco a capire cosa c'è che non va. Saluti per l'aiuto! – chintanparikh
Il problema è che il tag di input che aggiungi non ha il giusto tipo di attributo del nome che il tuo codice si aspetta. Non hai rivelato il tuo codice HTML, ma non mi sembra che il tuo codice possa funzionare a causa del modo in cui analizza il numero dall'attributo name. Il tuo regex corrisponde a due numeri con una virgola in mezzo, ma il nuovo tag di input che aggiungi non ha quel formato. Puoi vedere una versione più semplice da lavorare qui: http://jsfiddle.net/jfriend00/uVHwK/. Dovremmo vedere il tuo codice HTML per avvisare in modo più specifico. – jfriend00