Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ricavare 2 dati da un singolo campo select

    Salve ha tutti ho un problema che mi sembra insormontabile, è 2 ore che provo di tutto.
    Dovrei trasportarmi su un altra pagina i dati inseriti in un form tramite vari select dinamici.
    Il problema è che mi servirebbe trasportarmi sia il value che il titolo di ogni singolo select, ma non ho proprio idea di come posso fare, premesso che non posso usare un ID come value (che poi mi andrebbe a prendere i due dati in questione dal db) in quanto il value è un prezzo, e il form mi calcola in tempo reale il totale dei vari select selezionati. Vi porto un esempio di codice:
    Codice PHP:
    <div class="form-title">Lavorazioni accessorie e taglio</div>
    <div class="form-label">Plastificazione</div><div class="form-field">
    <select name="plastificazione" onChange="startCalc();" onBlur="stopCalc();" style="width:250px;">
    <option value="0">Nessuna</option>
    <?php    $query mysql_query("SELECT * FROM materiali WHERE tipo = 'plastificazione' AND categoria = '".$categoria."'");   while ($plastificazione mysql_fetch_array($query)){   echo "<option value=\"".$plastificazione['prezzo']."\">".$plastificazione['nome']."</option>";   }   ?>
    </select>
    A me servirebbe portarmi dietro sia la variabile nel value sia la variabile dell'etichetta della option selezionata....come si fà?

  2. #2
    Se per "calcola in tempo reale" intendi tramite Javascript, puoi risolverlo semplicemente creando un array [id] => [prezzo] in javascript ed inserendo nell'attributo value dell'option l'id.

    In PHP riceverai l'id e lo gestirai come al solito, in Javascript userai l'id come indice per pescare i prezzi dall'array di cui sopra.

  3. #3
    Eh si mi ricavo tutto tramite javascript e al termine del form ho dei campi che si riempono da soli in base ai campi sopra...in pratica è un calcolo di un preventivo scegliendo da varie opzioni.
    Un esempio del javascript è questo:
    codice:
    plastificazione = document.autoSumForm.plastificazione.value; document.autoSumForm.totaleplastificazione.value = (numerodicopie * 1) * (base * 1) * (altezza * 1) * (plastificazione * 1);
    preaticamente tu dici di sostituire quel "document.autoSumForm.plastificazione.value;" con il valore impostato nell'arrai in base all'id? La fregatura è che gli id anche sono dinamici, quindi non avrei un array "fisso" da inserire nel codice javascript...

  4. #4
    Originariamente inviato da lucif3r
    La fregatura è che gli id anche sono dinamici, quindi non avrei un array "fisso" da inserire nel codice javascript...
    E quale sarebbe il problema? L'array lo devi far creare al PHP a runtime.

  5. #5
    Io ho provato a fare una cosa del genere...ma probabilmente sbaglio nella sintatti, perche' javascript è semiarabo per me

    codice:
    idmateriale = document.autoSumForm.materiale.value;
    materiale = new Array();
    materiale [1] = "26";
    materiale [2] = "49";
    document.autoSumForm.totale1.value = formatCurrency((numerodicopie * 1) * (base * 1) * (altezza * 1) * ((materiale [idmateriale]) * 1));
    Lascia stare l'array che non è creato dinamicamente...è tanto per fare una prova..comunque non va'...dov'è che sbaglio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.