2009-08-03 14 views
5

Ho un campo di input come qui di seguito,come aggiungere al valore di un campo di input con Jquery

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

mi piacerebbe ottenere un certo valore del prezzo rispetto al valore di una casella di selezione e aggiungere un commento dopo la £ segno, come si raggiunge questo obiettivo in jQuery,

<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()); 
    }); 
    }); 

funziona con il codice di cui sopra, ma il segno £ scompare, tutto l'aiuto sarebbe apprezzato.

risposta

4

In passato ho hai usato un'immagine di sfondo sulla casella di input per il simbolo di valuta. In questo modo il simbolo può sembrare bello, essere allineato a sinistra (mentre il valore è allineato a destra) e non interferisce con i calcoli.

Speranza che aiuta

2

Una soluzione è inserire il segno Pound nel tag value delle opzioni nella casella di selezione.

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

Ma questo potrebbe causare problemi durante il calcolo con questo valore. Più bello è la seguente:

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

non ho il cancelletto sulla mia tastiera, da qui il € :)

// modifica

<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

Grazie per la risposta, non posso mettere il cancelletto nel tag valore perché sto utilizzando un carrello della spesa e sto usando il valore per that.also sto usando Firefox e quando mettendo il segno cancelletto nel "£", vengono fuori alcuni strani personaggi? perché? –

+0

Questi strani personaggi ci sono a causa della codifica del carattere del cancelletto. Provare ad aggiornare due campi. Uno per visualizzare il giusto prezzo. E uno usato per il carrello della spesa. Come ho fatto sopra. – blub

+0

Immagino che tu sia uno sviluppatore PHP '=)' Nell'ultimo esempio di codice, hai il seguente: '" € ". $ (" # Seleziona: selezionato ")' – Blixt

2

Per ottenere il cancelletto provare

& # 163; oppure & sterlina;

anche, controlla questo per maggiori informazioni su questi codici: http://www.ascii.cl/htmlcodes.htm

4

sono la codifica di file e la pagina è lo stesso? Se si desidera utilizzare caratteri speciali come il cancelletto, è necessario salvare il file javascript UTF-8 (senza carattere bom. È possibile utilizzare notepad ++ o un editor simile)

Btw hai specificato un id per l'input, quindi perché non utilizzandolo per assegnare il suo valore e per ultimo, è possibile utilizzare questo quando si utilizza l'ambito della funzione di modifica. Vedi sotto

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

Per il segno cancelletto, prova Alt-Gr + 2 –

+0

Inoltre, nota che kara sta utilizzando l'id dell'ingresso non immesso [nome = prezzo_aggiornamento]. Penso che questo sia più pulito e probabilmente più veloce (meno selettori). – MrHus

Problemi correlati