incolla il valore del file del tipo di input per inserire il testo del tipo

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()); }); }); });