2009-08-03 16 views
5

Ich habe ein Eingabefeld hinzuzufügen, wie unten,, wie man Wert eines Eingabefeld mit JQuery

<input name="update_price" type="text" id="update_price" value="£" size="8" 
     maxlength="8" /> 

Ich mag würde einige Preiswerte aus dem Wert einer Auswahlbox zu erhalten, und fügen Sie nach dem £ Zeichen, wie dies in jquery erreicht,

<form> 
       <select name="select" id="select"> 
        <option>Select your pizza</option> 
        <option value="6.65">NY, 10&quot;, £6.65</option> 
        <option value="8.95">NY, 12&quot;, £8.95</option> 
        <option value="11.95">NY, 16&quot;, £11.95</option> 
        <option value="3.45">Chicago, 7&quot;, £3.45</option> 
        <option value="6.65">Chicago, 10&quot;, £6.65</option> 
        <option value="8.95">Chicago, 12&quot;, £8.95</option> 
        <option value="11.95">Chicago, 16&quot;, £11.95</option> 
        <option value="19.95">Chicago, Beast 24&quot; x 18&quot;, £19.95</option> 
       </select> 
     </form> 



    $(function() 
    { 
    $('#select').change(function() { 

    $('input[name=update_price]').val($("#select :selected").val()); 
    }); 
    }); 

es funktioniert mit dem Code oben, aber das £ Zeichen verschwindet, jede mögliche Hilfe wäre sehr geschätzt.

Antwort

4

In der Vergangenheit habe ich habe ein Hintergrundbild im Eingabefeld für das Währungssymbol verwendet. Auf diese Weise kann das Symbol schön aussehen, linksbündig (während der Wert rechtsbündig ausgerichtet ist) und nicht in die Berechnung eingreifen.

Hoffnung, die

2

Eine Lösung besteht darin, das Pfund-Zeichen in das Wertschild der Optionen im Auswahlfeld zu setzen.

<option value="€ 6.65">NY, 10&quot;, £6.65</option> 

Aber das könnte Probleme liefern, wenn sie mit diesem Wert zu berechnen. Nicer ist die folgende:

$('input[name=update_price]').val("€"+$("#select :selected").val()); 

Ich habe nicht das Pfund-Zeichen auf der Tastatur, damit die € :)

// bearbeiten

<input type='hidden' name='shopping_cart_value' value='0'> 

$('input[name=update_price]').val("€"+$("#select :selected").val()); 
$('input[name=shopping_cart_value]').val($("#select :selected").val()); 
+0

Danke für die Antwort, kann ich lege die Pfund-Zeichen in dem Wert-Tag nicht, weil ich einen Einkaufswagen mit und ich bin mit dem Wert für that.also Ich bin mit Firefox und wenn setzt man das Pfundzeichen in das "£", tauchen seltsame Charaktere auf? Warum das? –

+0

Diese seltsamen Zeichen sind wegen der Zeichencodierung des Pfundzeichens da. Versuchen Sie zwei Felder zu aktualisieren. Eine, um den richtigen Preis anzuzeigen. Und eines für den Einkaufswagen. Wie ich oben getan habe. – blub

+0

Ich schätze, du bist ein PHP-Entwickler '=)' In deinem letzten Codebeispiel hast du folgendes: '" € ". $ (" # Select: selected ")' – Blixt

4

Sind die Codierung der Datei und Seite ist gleich? Wenn Sie Sonderzeichen wie Pfundzeichen verwenden möchten, müssen Sie Ihre Javascript-Datei UTF-8 speichern (ohne bom-Zeichen. Sie können Notepad ++ oder einen ähnlichen Editor dafür verwenden)

Btw Sie eine ID für die Eingabe angegeben, also warum Verwenden Sie nicht das für die Zuweisung seines Werts und zuletzt, können Sie dieses verwenden, wenn Sie sich im Änderungsfunktionsbereich befinden. Siehe unten

$(function() { 
    $('#select').change(function() { 
    $('#update_price').val("£" + $(this).val()); 
    }); 
}); 
+0

Für das Pfund Zeichen, versuchen Alt-Gr + 2 –

+0

Beachten Sie auch, dass Kara die ID der Eingabe nicht verwendet [Name = Update_Price]. Ich denke, das ist sauberer und wahrscheinlich schneller (weniger Selektoren). – MrHus

Verwandte Themen