Hallo Mathias!
Ich arbeite mit CakePHP, welches ein im ersten Moment etwas seltsame Art hat Formulare zu erstellen, was aber wenn man sich ein bissl damit beschäftigt echt sinn macht, eine Selectbox würde z.B. so aussehn:
<fieldset>
<legend>Shipping Method</legend>
<input type="hidden" name="data[Order][shipping_method_id]" id="shippingMethod_" value="" />
<input type="radio" name="data[Order][shipping\_method\_id]" id="ShippingMethod2" value="2" />
<label for="ShippingMethod2">By Mail (+ €50,00)</label>
<input type="radio" name="data[Order][shipping\_method\_id]" id="ShippingMethod8" value="8" />
<label for="ShippingMethod8">UPS (+ €5,00)</label>
<input type="radio" name="data[Order][shipping\_method\_id]" id="ShippingMethod10" value="10" />
<label for="ShippingMethod10">something else</label>
</fieldset>
Den Inhalt wollte ich jetzt auf diese Weise auslesen:
var form = $('OrderForm');
var input = form['data[Order][shipping_method_id]'];
var paymentValue = $(input).getValue();
Da bekomm ich jedoch die Fehlermeldung:
$(input).getValue is not a function
Was musss ich da ändern?
Im Übrigen würde ich vorschlagen, dass du keine globale Variable anlegst. Die wird sich früher oder später mit anderen Daten beißen, z.B. wenn es ein zweites Feld gibt, dessen vorherigen Wert du dir merken willst. Du kannst diesen Wert einfach auch am select-Elementobjekt als Eigenschaft speichern:
var selectField = $('select_id');
selectField.oldValue = selectField.getValue();
danke, der Tipp is echt cool!
lg
Mario