Così ho una pagina con la seguente strutturaJquery .on ('cambiamento') non sta lavorando per gli elementi aggiunti dinamicamente
<div class="editCampaignBanner">
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
</div>
e ho scritto un po 'di jQuery così:
$('div.editCampaignBanner input:file').on('change', function() {
var value = $(this).val();
var div = $(this).parent();
var html = '<div>'+ div.html() + '</div>';
if (value.length > 0) {
div.after(html);
}
else if ($(this) > 1) {
div.remove();
}
});
così quando entro un elemento nel file genera un div con il precedente:
<div class="editCampaignBanner">
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
</div>
Ma ora, nonostante l'evento sia re gisterizzato usando .on()
il secondo file inserito nel div non attiva l'evento. Cosa mi manca?
giusto, quindi si associa il documento al selettore! Eccellente! – Liam
Dato che non sembra rimuovere 'div.editCampaignBanner', puoi usarlo come base per il tuo' on' invece del documento. L'OP –