Jquery function find

Vera

Utente Attivo
3 Giu 2014
76
1
8
Ciao a tutti,
data una tabella html riempita tramite i valori di un db, vorrei poter intercettare il valore di un campo di input della riga della tabella. La tabella in questione ha diversi record e alla pressione del tasto in una determinata riga chiamo un javascritp per intercettare i valori della tabella, compreso il campo di input. So che esiste una funzione jquery (find) per reperire il valore immesso nel campo di input, ma vorrei avere un aiuto sulla relativa sintassi.
Posto sia l'HTML che le prime righe del javascript (quelle relative all'intercettazione del valore del campo di input). Mi postate la sintassi corretta della funzione find valida per il mio caso?
Grazie 1000

HTML:

HTML:
<?php $number = 0; ?>

<table id="table4" style="width: auto;" class="table table-condensed" border="0" cellpadding="0" cellspacing="0">
  <thead>
    <tr>
      <th colspan="1" rowspan="2"><font size="2">Nome</font></th>
      <th colspan="1"><font size="2">Importo</font></th>
      <th colspan="1"><font size="2">Mese di</font></th>
    </tr>
    <tr>
      <th><font size="2">Servizio</font></th>
      <th><font size="2">lordo</font></th>
      <th><font size="2">competenza</font></th>
    </tr>
  </thead>
  <tbody>
  <?PHP for($i=0; $i<count($recordDb); $i++){?>
    <tr id='<?php echo $number++; ?>'>
      <td><font size="2"><?php echo $recordDb[$i]['NOME']; ?></font></td>
      <td><input type="text" style="width: 70px; text-align: right" name="IMLORD" id="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"></td>
      <td><input type="text" style="width: 70px;" name="DTMMAA" id="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"></td>
                                                                      
      <td><div align="left"><button type="button" value="Aggiorna" onclick="Aggiorna01('<?php echo $recordDb[$i]['NOME']; ?>', '<?php echo $number; ?>')"
          class="btn btn-primary" style="float: left;" aria-label="Left Align">
          <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra</button></div>
      </td>
    </tr>
  <?PHP } ?>   
  </tbody>   
</table>

Javascript:

Codice:
function Aggiorna01(nome, number){       
    alert(number); // Qui controllo effettivo valore della riga alla pressione del tasto (Registra)

// Qui dovrei reperire il valore della riga selezionata 
   var impo01 = $('#number').find('td').find("input[name='IMLORD']").val;
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, devi modificare il selettore cosi
Codice:
$('#' + number)
perchè number è una variabile e devi concatenarla il segno +
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
sarebbe a dire:
Codice:
var impo01 = $('#' + number).find('td').find("input[name='IMLORD']").val;
 alert(impo01);

ma codi facendo nella successiva alert ho questo di risulato:

Codice:
function ( value ) {
        var ret, hooks, isFunction,
            elem = this[0];

        if ( !arguments.length ) {
            if ( elem ) {
                hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];

                if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
                    return ret;
                }

                ret = elem.value;

                return typeof ret === "string" ?
                    // handle most common string cases
                    ret.replace(rreturn, "") :
                    // handle cases where value is null/undef or number
                    ret == null ? "" : ret;
            }

            return;
        }

        isFunction = jQuery.isFunction( value );

        return this.each(function( i ) {
            var val;

            if ( this.nodeType !== 1 ) {
                return;
            }

            if ( isFunction ) {
                val = value.call( this, i, jQuery( this ).val() );
            } else {
                val = value;
            }

            // Treat null/undefined as ""; convert numbers to string
            if ( val == null ) {
                val = "";
            } else if ( typeof val === "number" ) {
                val += "";
            } else if ( jQuery.isArray( val ) ) {
                val = jQuery.map(val, function ( value ) {
                    return value == null ? "" : value + "";
                });
            }

            hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];

            // If set returns undefined, fall back to normal setting
            if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
                this.value = val;
            }
        });
    }

a me serve avere (sempre nella finestra di alert) il valore che digito nel campo di input (ad esempio: 2500, 1800, 1500..... etc) non una finestra di alert come quella descritta qui sopra
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
val() è una funzione, vuole le parentesi tonde
prova cosi
Codice:
var impo01 = $('#' + number).find('td').find("input[name='IMLORD']").val();
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
il primo alert:
Codice:
alert(number);
mi da il numero esatto della riga dove clicco sul bottone (ad esempio ho due righe e quindi number = 2)

il secondo alert
Codice:
alert(impo01);
mi dice: undefined cioé non mi valorizza impo01.

???
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
le td che trova la funzione find() sono più di una, prova ad indicare il numero con eq()
Codice:
var impo01 = $('#' + number).find('td').eq(2).find("input[name='IMLORD']").val();
eventualmente prova anche con il 3, non ricordo se il conteggio parte da 0 o da 1.
Risolto questo devi trovare il modo di assegnare un id diverso ad ogni input,vedo che dai a tutti id="IMLORD"
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
Niente.....
ho provato con:
Codice:
var impo01 = $('#' + number).find('td').eq(2).find("input[name='IMLORD']").val();

oppure
Codice:
var impo01 = $('#' + number).find('td').eq(3).find("input[name='IMLORD']").val();

oppure
Codice:
var impo01 = $('#' + number).find('td').eq(1).find("input[name='IMLORD']").val();

ma il risultato é sempre lo stesso, non mi valorizza la variabile impo01
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
a me funziona anche senza l'eq(). Ho provato cosi
HTML:
<table>
    <tr id="1">
        <td></td>
        <td></td>
        <td><input type="text" name="IMLORD" value="ciao"/></td>
        <td><input type="button" value="leggi" onclick="leggi(1)"/></td>
    </tr>
</table>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
    function leggi(number) {
        var impo01 = $('#' + number).find('td').eq(2).find("input[name='IMLORD']").val();
        alert(impo01);
    }
</script>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
felino [JQuery] TypeError: $ is not a function jQuery 1
A Navigazione jQuery [era: $(document).ready(function(){] jQuery 3
D Jquery - modifica elemenento onlick jQuery 1
E Problema jquery Success jQuery 2
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
E PHP & jQuery PHP 8
P jquery refresh div non funziona Javascript 0
P lanciare script asp (o php) da jquery Javascript 1
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
Z CSS Slideshow senza JS e JQUERY HTML e CSS 2
Z CSS Slideshow senza JS e JQUERY HTML e CSS 2
MarcoGrazia Validazione remota tramite plugin (jquery validate) Snippet Javascript 0
M Come selezionare e deselezionare radiobutton con jquery jQuery 1
M Come validare textarea con jquery jQuery 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
P Funzione jQuery Ajax invio file a php jQuery 1
Cosina Menu fisso copre i titoli quando cliccati nel sommario jQuery Javascript 4
MarcoGrazia jquery validate() controllo checkbox jQuery 2
D assegnare risultato di una jquery ad una text Javascript 2
felino [JQuery] Append dopo ultimo ul li del primo livello jQuery 2
A php metodo post jquery non da mai errore jQuery 4
T problema con select dinamica con jquery Javascript 0
P jquery .load jQuery 10
E Div che scompare con scroll jquery Javascript 0
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
B jQuery - hide & show li items jQuery 13
Y jQuery Animation Switch On Off jQuery 0
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
O [Javascript] Conflitto Jquery: forse... Javascript 0
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
M inserire i dati ottenuti da una jquery in una tabella già esistente jQuery 1
D Jquery, conflitto tra loro risolvibile? jQuery 7
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
Tommy03 Variabile PHP dentro a JQuery PHP 3
L Problema jQuery validation AJAX (PHP 7) PHP 6
G Campo HTML input file con jQuery jQuery 0
P Jquery event nel foreach php jQuery 3
A [Javascript] Ajax, Jquery e PHP Javascript 1
trattorino Mentions Auto Suggesting da jquery a php PHP 2
X Problema con jquery e ajax jQuery 2
G Inserzione script nella pagina html per jquery jQuery 8
MarcoGrazia Validazione forum con jquery.validate jQuery 2
Shyson Smoot scrolling jQuery nella pagina jQuery 0
felino [Javascript] [jQuery] Slick Carousel: visualizzare una porzione dell'immagine successiva Javascript 0
L Scelta form con jquery jQuery 1
F [Javascript] Aprire file tramite jquery Javascript 0
R Aiuto Jquery jQuery 1
G [HTML] Jquery e tooltipster's jQuery 5
I Jquery fadeout-fadein html data jQuery 0

Discussioni simili