[Javascript] select dinamiche

Discussione in 'Javascript' iniziata da greghph27, 26 Luglio 2017.

  1. greghph27

    greghph27 Nuovo Utente

    Registrato:
    21 Giugno 2017
    Messaggi:
    14
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    ciao a tutti
    spero di spiegare bene il mio problema
    voglio realizzare un form che permetta di aggiungere dinamicamente delle select e input
    le select recuperano un array da odbc
    il form è questo:
    <form name="add_name" id="add_name">
    <div class="table-responsive">
    <table class="table table-bordered" id="dynamic_field">
    <tr>
    <td>
    <select name="name[]" id="category" class="form-control" width="300px" onchange="aggiornaHidden(this)">
    <option value="">Seleziona Ordine - Articolo</option>
    <?php
    echo $popola
    ?>
    </select>
    <INPUT type="hidden" name="sel_value">
    <INPUT type="hidden" name="sel_text">
    </td>
    <td>
    <input type="text" name="quantita[]" placeholder="Inserisci quantita" class="form-control name_list" />
    </td>
    <td><button type="button" name="add" id="add" class="btn btn-success">Aggiungi Riga</button></td>
    </tr>
    </table>
    </div>
    </form>

    php:
    <?php


    $conto='2411000044';
    $dsn = 'iSeries';
    $connessione = odbc_connect("iSeries", "utente, "pwd", 2) or die ("Impossibile Connettersi " . odbc_errormsg());

    if($conto==""){
    echo "impossibile trovare il codice artigiano....<br>";
    }
    else{

    $interrogazione ="SELECT A.tipo, A.numero, A.codice, A.descrizione, B.barcode FROM file1 A, file2 B WHERE (A.codice=B.codice1) AND a.fornitore='".trim($conto)."' ORDER BY A.codice, A.numero ASC";
    $risultato = odbc_exec($connessione, $interrogazione);
    while (odbc_fetch_row($risultato))
    {
    $popola .= '<option value="'.odbc_result($risultato,"tipo").'-'.odbc_result($risultato,"numero").'-'.trim(odbc_result($risultato,"codice")).'-'.trim(odbc_result($risultato,"barcode")).'">'.odbc_result($risultato,"tipo").' - '.odbc_result($risultato,"numero").' - '.odbc_result($risultato,"codice").' - '.odbc_result($risultato,"descrizione").'</option>';
    }
    }
    ?>

    SCRIPT:
    <script type="text/javascript" language="javascript" >
    $(document).ready(function(){
    var i=1;
    $('#add').click(function(){
    i++;
    //$('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="name[]" placeholder="Inserisci numero bancale" class="form-control name_list" /></td><td><input type="text" name="quantita[]" placeholder="Inserisci quantita" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
    $('#dynamic_field').append('<tr id="row'+i+'"><td><select name="name[]" id="category" class="form-control" width="300px" onchange="aggiornaHidden(this)"><option value="">Seleziona Ordine - Articolo</option><?php echo $popola?></select><INPUT type="hidden" name="sel_value"><INPUT type="hidden" name="sel_text"></td><td><input type="text" name="quantita[]" placeholder="Inserisci quantita" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
    });
    $(document).on('click', '.btn_remove', function(){
    var button_id = $(this).attr("id");
    $('#row'+button_id+'').remove();
    });

    function aggiornaHidden(sel){
    var f = document.add_name;
    f.sel_value.value = sel.options[sel.selectedIndex].value;
    f.sel_text.value = sel.options[sel.selectedIndex].text;
    }
    </script>

    la prima selezione aggiunge correttamente il value alla hidden
    dopo il click su "Aggiungi Riga" la seconda select viene popolata ma scegliendo un valore diverso il value della hidden rimane vuota
    dove sbaglio?
    grazie
     
Sto caricando...

Condividi questa Pagina