Ho uno script come questo, per aggiungere un nuovo input utente basato su elment
var tmp; $('#add').click(function(){ var galer=parseInt($('#many').val()); for(var h=1;h<=tmp;h++){ $(".af_"+h).remove(); } for(var x=1;x<=galer;x++){ $("#kontenPlus").append(" "); } tmp=galer; }); for(var u=1;u<=tmp;u++){ $('#photo_'+u).change(function(){ $('#src_'+x).val($(this).val()); }); }
questo codice html:
Add element
Voglio chiedere perché il valore di '#photo_+x'
, non è messo in '#src_'+x
, la funzione può essere ripetuta?
LINK: http://jsfiddle.net/rizalfarez/V5AdP/3/
Poiché questi elementi vengono creati dynamicmente, dovrai debind l’ascolto dell’evento come
$(window).on( "change", function() { // var id = $(this).id; // if (id.indexOf("photo") === 0) {
il motivo per cui il valore delle caselle di testo non viene aggiornato è perché vengono create dynamicmente, quindi l’evento di modifica non è vincolante per esse.
Ho cambiato il tuo codice e l’ho ottimizzato un po ‘in questo modo:
var tmp; $('#add').click(function(){ var galer = parseInt($('#many').val()); $('.af').remove(); for(var x=1;x<=galer;x++) $('#kontenPlus').append(''); $('[id^="photo_"]').each(function(){ $(this).change(function(){ $(this).next().val($(this).val()); }); }); });