Frage

Ich möchte den Wert der verborgenen Eingabefeld ändern, wenn Optionsfelder ausgewählt:

    <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 Mit den Wert der verborgenen Feldänderung auf diesen Wert.

War es hilfreich?

Lösung

Verwenden Sie die OnClick-Eigenschaft:

<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" />

Andere Tipps

Sie können zum Beispiel versuchen

<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 Anwender auf jedem Funk wir es durch verschiedene ID mit dem gleichen Start behandeln.

jQuery verwenden, es sei:

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

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

Haken in das Onclick-Ereignis für das Optionsfeld „R1“. Normalerweise würde ich das Ereignis onchange vorschlagen, aber in IE ist es nicht, bis der Benutzer „Unschärfen“ das Optionsfeld gebrannt.

Wenn Sie ein Framework wie jQuery verwenden, Haken in den Ereignissen in einer schönen dezenten Art und Weise ... aber wenn Sie eine schnelle n schmutzige Lösung wollen, fügen Sie einfach die Ereignisse inline.

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top