2012-04-01 17 views
0

Ich habe dieses Feld in eine Form:jQuery - Ändern des Wert des Eingangs

<input type="text" name="promocode" id="promoCode" value="" style="width:24%" maxlength="5"> 

und dieses Feld in einer anderen Form:

<input type="hidden" name="custom" class="promo" value="" /> 

Wie kann ich tun, also immer dann, wenn der Wert von #promoCode geändert wird, wird es auch den Wert von .promo

Currenlty ändern, habe ich dies:

var promo = $("#promoCode").val(); 
$("#promoCode").change(function(){ 
    $('.promo').val(promo);  
}); 

Aber das funktioniert nicht.

+0

ist Ihr Code in einem dom ready Callback verpackt? – FreeCandies

+0

Wahrscheinlich sollte "# echo" '.promo' oder' input [name = "custom"] 'sein. – Engineer

+0

@Engineer. Wo hast du '# echo' gesehen? – gdoron

Antwort

3
$(function(){ 
    $("#promoCode").change(function(){ 
     $('.promo').val(this.value);  
    }); 
}); 
  • Achten Sie darauf, das DOM bereit ist, wenn Sie Ihren Rückruf an das Änderungsereignis
  • this innerhalb Rückrufs befestigen ist das Element, das Ereignis gebunden.
  • Wenn Sie den Wert außerhalb des Change Callbacks zwischenspeichern, wird es direkt nach der ersten Änderung nicht mehr synchron sein! Verwenden Sie this.value innerhalb des Rückrufs wie ich es getan habe.
Verwandte Themen