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

    [jQuery] problema con $.each

    ciao a tutti sto avendo un problema con $.each vi posto il codice

    HTML:
    codice HTML:
    <input id="insert_data" type="text" name="number_card" value="" placeholder="Numero Carta" maxlength="5">
    <input id="insert_data" class="input-disabled cnt-data" type="text" name="amount_spending" value="" placeholder="Importo spesa &euro;" disabled>

    Javascript:
    codice:
    $(document).ready(function() {
    var active=$("input[name=active]").val();
    
    // inserimento numeri
    $(".send-number").click(function(){
    if(active==1){
    var number=$(this).attr("rel");
    $("#insert_data").each(function(index) {
    if($(this).focus()) var indata=index;
    });
    alert(indata);
    var tag;			
    }
    });
    });
    il problema e che sulla variabile "indata" invece di darmi l'index mi da l'oggetto.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    ID insert_data deve essere univoco. A cosa ti serve eseguire un ciclo? Essendo univoco hai solo quell'oggetto pertanto corretto che restituisca l'oggetto e non il numero
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    facvendo cosi eseguo un ciclo su tutti gli input con quell'id e mi serve per sapere in quale input vi è il focus

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, come già ti ha indicato cavicchiandrea, gli id dentro uno stesso documento html devono necessariamente essere univoci. A prescindere dal problema che descrivi, non puoi avere id uguali sui vari elementi, dovresti usare piuttosto una classe. Si tratta di una nozione di base che vale per tutti i linguaggi di programmazione web.

    Altro errore, la variabile indata non puoi dichiararla dentro la funzione each() ed aspettarti che sia vista in quell'alert fuori dalla funzione. Infatti quell'alert genera un errore perché gli viene passata una variabile non definita.

    Ad ogni modo la variabile index , argomento della funzione each, a me personalmente restituisce in modo corretto l'indice degli elementi come ci si aspetta che faccia.

    Bisogna poi capire a cosa ti serve recuperare l'index in quel modo. Qual'è l'obiettivo che vuoi raggiungere?

    Se intendi avere un riferimento all'elemento che ha il focus, quello non è il modo corretto.
    codice:
    if($(this).focus())
    In questo modo non stai verificando se l'elemento in questione ha il focus ma, anzi, lo stai proprio impostando.

    Piuttosto dovresti avere una condizione del genere:
    codice:
    if($(this).is(':focus'))
    Ma anche in questo caso l'operazione fallirebbe perché nel momento in cui clicchi su .send-number il focus si porterebbe su quest'ultimo elemento.

    Non è chiaro ciò che vuoi ottenere. Prova a spiegarti meglio.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    si sei stato molto chiaro hai perfettamente ragione ho combinato un casino

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.