Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Recuperare valore di input in td e scrivere in altra label in td

    Ciao a tutti, ho una tabella come segue:

    codice HTML:
    <table class="table" id="TblProdotti">
                                    <tr>
                                        <th style="width: 10px">Codice</th>
                                        <th>Categoria</th>
                                        <th>Prodotto</th>
                                        <th>Imponibile</th>
                                        <th>Imponibile Premium</th>
                                        <th>Iva</th>
                                        <th>Importo</th>
                                        <th>Importo Premium</th>
                                        <th>Prezzo P.</th>
                                        <th>Q. 1</th>
                                        <th>% 1</th>
                                        <th>Q. 2</th>
                                        <th>% 2</th>
                                        <th>Q. 3</th>
                                        <th>% 3</th>
                                    </tr>
                                    
                                            <tr>
                                                <td>1</td>
                                                <th>Farmaco</th>
                                                <td>hfdds</td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl00$txtImponibile" type="text" id="txtImponibile" class="form-control imponibile" placeholder="00,00 €" /></td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl00$txtImponibilePremium" type="text" id="txtImponibilePremium" class="form-control imponibilePremium" placeholder="00,00 €" /></td>
                                                <td><select name="ctl00$CPHBody$rptProdotti$ctl00$cmbIva" id="cmbIva" class="form-control iva">
    	<option value="">Seleziona</option>
    	<option value="1">0</option>
    	<option value="2">10</option>
    	<option value="3">22</option>
    
    </select></td>
                                                <td><span id="txtImporto" class="importo">0,00 €</span></td>
                                                <td><span id="txtImportoPremium" class="importoPremium">0,00 €</span></td>
                                                <td>22,40</td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtQ1" type="text" id="txtQ1" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtPerc1" type="text" id="txtPerc1" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtQ2" type="text" id="txtQ2" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtPerc2" type="text" id="txtPerc2" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtQ3" type="text" id="txtQ3" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl00$txtPerc3" type="text" id="txtPerc3" class="form-control" placeholder="N." /></td>
                                            </tr>
                                        
                                            <tr>
                                                <td>1</td>
                                                <th>Farmaco</th>
                                                <td>hfdds</td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl01$txtImponibile" type="text" id="txtImponibile" class="form-control imponibile" placeholder="00,00 €" /></td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl01$txtImponibilePremium" type="text" id="txtImponibilePremium" class="form-control imponibilePremium" placeholder="00,00 €" /></td>
                                                <td><select name="ctl00$CPHBody$rptProdotti$ctl01$cmbIva" id="cmbIva" class="form-control iva">
    	<option value="">Seleziona</option>
    	<option value="1">0</option>
    	<option value="2">10</option>
    	<option value="3">22</option>
    
    </select></td>
                                                <td><span id="txtImporto" class="importo">0,00 €</span></td>
                                                <td><span id="txtImportoPremium" class="importoPremium">0,00 €</span></td>
                                                <td>22,40</td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtQ1" type="text" id="txtQ1" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtPerc1" type="text" id="txtPerc1" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtQ2" type="text" id="txtQ2" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtPerc2" type="text" id="txtPerc2" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtQ3" type="text" id="txtQ3" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl01$txtPerc3" type="text" id="txtPerc3" class="form-control" placeholder="N." /></td>
                                            </tr>
                                        
                                            <tr>
                                                <td>2</td>
                                                <th>Farmaco</th>
                                                <td>fdsfsddf</td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl02$txtImponibile" type="text" id="txtImponibile" class="form-control imponibile" placeholder="00,00 €" /></td>
                                                <td><input name="ctl00$CPHBody$rptProdotti$ctl02$txtImponibilePremium" type="text" id="txtImponibilePremium" class="form-control imponibilePremium" placeholder="00,00 €" /></td>
                                                <td><select name="ctl00$CPHBody$rptProdotti$ctl02$cmbIva" id="cmbIva" class="form-control iva">
    	<option value="">Seleziona</option>
    	<option value="1">0</option>
    	<option value="2">10</option>
    	<option value="3">22</option>
    
    </select></td>
                                                <td><span id="txtImporto" class="importo">0,00 €</span></td>
                                                <td><span id="txtImportoPremium" class="importoPremium">0,00 €</span></td>
                                                <td>22,40</td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtQ1" type="text" id="txtQ1" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtPerc1" type="text" id="txtPerc1" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtQ2" type="text" id="txtQ2" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtPerc2" type="text" id="txtPerc2" class="form-control" placeholder="%" /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtQ3" type="text" id="txtQ3" class="form-control" placeholder="N." /></td>
                                                <td class="tdq_listino"><input name="ctl00$CPHBody$rptProdotti$ctl02$txtPerc3" type="text" id="txtPerc3" class="form-control" placeholder="N." /></td>
                                            </tr>                                                                                                           
                                           
                                        
                                </table>
    Ora io scrivendo un valore nell'Input "txtImponibile" voglio recuperare il valore inserito sul keypress e voglio aggiornare il valore della label "txtImporto" .

    La funzione JQuery che ho al momento è:
    $(".imponibile").keyup(function () {
    var value = parseFloat($(this).val());
    var iva = $(".iva").val();
    var tot = (value + ((value * iva) / 100));
    tot = parseFloat(tot);
    $(".importo").html(tot)
    });


    Il problema è che però mi aggiorna tutte le label con lo stesso valore io vorrei aggiornare solo la label della riga corrispondente.
    Come posso risolvere?
    Grazie a tutti

  2. #2
    Se gli dici di aggiornare la classe 'importo', è normale che aggiorni tutte le occorrenze della classe 'importo'.
    Nello script di seguito ho usato il metodo parents() di jQuery, per identificare la riga della tabella che ci interessa modificare.
    Riga che ho poi passato alle successive selezioni nel DOM per identificare gli elementi in base alla riga stessa.
    codice:
    $(".imponibile").keyup(function(){
     var parent_row=$(this).parents('tr');
     var value=parseFloat($(this).val());
     var iva = $(".iva",parent_row).val();
     var tot = (value + ((value * iva) / 100));
     tot = parseFloat(tot);
     $(".importo",parent_row).html(tot) 
    });
    Il codice dovrebbe essere abbastanza esplicativo ma se hai domande, chiedi pure.

    Ultima modifica di lucavizzi; 31-10-2016 a 14:31

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Se gli dici di aggiornare la classe 'importo', è normale che aggiorni tutte le occorrenze della classe 'importo'.
    Nello script di seguito ho usato il metodo parents() di jQuery, per identificare la riga della tabella che ci interessa modificare.
    Riga che ho poi passato alle successive selezioni nel DOM per identificare gli elementi in base alla riga stessa.
    codice:
    $(".imponibile").keyup(function(){
     var parent_row=$(this).parents('tr');
     var value=parseFloat($(this).val());
     var iva = $(".iva",parent_row).val();
     var tot = (value + ((value * iva) / 100));
     tot = parseFloat(tot);
     $(".importo",parent_row).html(tot) 
    });
    Il codice dovrebbe essere abbastanza esplicativo ma se hai domande, chiedi pure.

    Perfetto grazie.

Tag per questa discussione

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.