2009-08-24 14 views
6

ich den Wert der verborgenen Eingabefeld geändert werden soll, wenn Optionsfelder ausgewählt:ändern Feldwert, wenn das Auswahlradiobuttons

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

zum Beispiel, wenn der Benutzer, klicken Sie auf eine der Schaltflächen der Wert der verborgenen Feldänderung auf diesen Wert .

Antwort

13

die OnClick-Eigenschaft verwenden:

<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

Dies wäre die einfachste Option – Dorjan

+0

Thnx, es hat funktioniert, aber gibt es eine Möglichkeit, das Namensattribut zu ändern, wenn Sie auf die Schaltfläche klicken? – datisdesign

-1

haken Sie in das onclick-Ereignis für den Radio-Button "r1". Normalerweise würde ich das Onchange-Ereignis vorschlagen, aber in IE wird es nicht ausgelöst, bis der Benutzer den Radio-Button "verwischt".

Wenn Sie ein Framework wie jQuery verwenden, haken Sie die Ereignisse auf eine nette unaufdringliche Art und Weise ein ... aber wenn Sie eine schnelle n-dreckige Lösung wollen, fügen Sie einfach die Ereignisse inline hinzu.

<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

können Sie für

Beispiel versuchen, auf jedem Funk
<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()); 
} 

So dann, wenn der Benutzer klicken wir es durch verschiedene ID mit dem gleichen Start behandeln.

1

jQuery verwenden wäre es:

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

Ich habe überprüft, nicht doppelt so hoch Code, so dass es ein wenig Gefummel brauchen könnte.

+0

thnx aber es hat nicht funktioniert für mich! – datisdesign

+0

Haben Sie jQuery installiert und eingerichtet? – Dorjan

+0

ja ich habe es auf meiner Seite – datisdesign

Verwandte Themen