2009-08-24 3 views
6

voglio cambiare il valore del campo di input nascosto quando i pulsanti radio selezionata:cambiamento quando selezionare i pulsanti di opzione

<input type="radio" name="r1" value="10" />10 
    <br/> 
    <input type="radio" name="r1" value="45" />45 
    <br/> 
    <input type="hidden" name="sum" value="" /> 

ad esempio quando l'utente clicca su uno dei pulsanti il ​​valore del cambiamento campo nascosto a quel valore .

risposta

13

utilizzare la proprietà onClick:

<input type="radio" name="r1" value="10" onClick="document.getElementById('hidfield').value=this.value"/>10 
    <br/> 
    <input type="radio" name="r1" value="45" onClick="document.getElementById('hidfield').value=this.value"/> 
    45 
    <br/> 
    <input type="hidden" name="sum" value="" id="hidfield" /> 
+0

Questa sarebbe l'opzione più semplice – Dorjan

+0

thnx, ha funzionato, ma c'è un modo per cambiare l'attributo nome quando si fa clic sul pulsante? – datisdesign

-1

hook nell'evento onclick per il pulsante di opzione "r1". Normalmente suggerirei l'evento onchange ma in IE non viene attivato finché l'utente non "sfoca" il pulsante di opzione.

Se si utilizza un framework come jQuery, agganciare gli eventi in un modo non invadente ... ma se si desidera una soluzione rapida e sporca, è sufficiente aggiungere gli eventi in linea.

<input type="radio" name="r1" value="10" onclick="doIt(this);"/>10 
<br/> 
<input type="radio" name="r1" value="45" onclick="doIt(this);"/>45 
<br/> 
<input type="hidden" name="sum" value="" /> 

<script> 
    function doIt(obj){ 
    //alert('my value is now: ' + obj.value); 
    obj.form.elements['sum'].value = obj.value;//set hidden field to radio value 
    } 
</script> 
1

Si può provare per esempio

<input type="radio" id="radio1r1" name="r1" value="10" />10 
<br/> 
<input type="radio" id="radio2r1" name="r1" value="45" />45 
<br/> 
<input type="hidden" name="sum" value="" /> 

jQuery("input[id^='radio']").click(function() { 
    jQuery("input[name='sum']").val(jQuery(this).val()); 
} 

Allora quando l'utente clicca su ogni radio che gestirlo da vari ID con lo stesso inizio.

1

utilizzando jQuery sarebbe:

$(":radio").click(function() { 
    var inputValue = $this.val(); 
    $(":hidden[name='sum']").val() = inputValue; 
$(":hidden[name='sum']").name() = "lalala"; 
    }); 

non ho ricontrollato che il codice in modo che potrebbe essere necessario un piccolo ritocco.

+0

thnx ma non ha funzionato per me! – datisdesign

+0

hai jQuery installato e configurato? – Dorjan

+0

sì ce l'ho nella mia pagina – datisdesign