Visualizzazione risultati 1 fino 6 di 6

Discussione: jquery non funziona il metodo trigger click

  1. #1
    Guest

    Predefinito jquery non funziona il metodo trigger click

    Buonasera scrivo questo post per via di un problema con jquery in particolare non "funziona" il metodo trigger in quanto una volta che la pagina è pronta ed è stata eseguita la chiamata ajax non fa il click automatico sul campo input con id search_text.

    Di fatto lo script ajax con la pagina fetch.php funziona alla grande ma trigger sembra essere ignorato avete soluzioni? o qualche idea ?


    Codice:
     $(document).ready(function(){
    
       load_data();
    
       function load_data(query){
        $.ajax({
         url:"fetch.php",
         method:"POST",
         data:{query:query},
         success:function(data){
          $('#result').html(data);
         }
        });
       }
       $('#search_text').on("click keyup",function(){
        var search = $(this).val();
        if(search != '')
        {
         load_data(search);
        }
        else
        {
         load_data();
        }
       });
        $("#search_text").trigger("click");
      });
    Grazie a tutti e buona serata:)

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Spiega a parole cosa vuoi fare perché non è chiaro... Supponiamo che vuoi catturare il clik dell'utente (l'evento) di un campo input type text che abbia id search_text usi #id.on("click", bla bla resto :D
    Beh lo stai già facendo quando chiami .on mentre con .trigger stai abilitando manualmente la sua pressione (purtroppo nel codice non gli fai fare nulla, cioè fai attivare solo l'evento click)
    Puoi togliere load_data(); iniziale, il keyup da on, chiami load_data(search) solo quando non è vuoto altrimenti mostri un errore ..(non chiamare load_data();)
    Ultima modifica di darbula : 01-02-2018 alle ore 19.58.59

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    ..(non chiamare load_data();)
    In primis GRAZIE dell'aiuto ora funziona grande Darbula.

    In secundis perche load_data() interferiva? lo script js viene letto dal basso verso l'alto?

    Grazie ancora dell'attenzione Darbula e anche agli altri che anno visitato il post.

  4. #4
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Prego figurati.. per favore mi spieghi cosa dovrebbe fare questo script?EDIT: Peccato ero curioso... purtroppo stai creando una funzione con argomento se la chiami senza argomento è un errore per tutti i linguaggi di programmazione o scripting :D
    Meglio che definisco un'eccezione per JavaScript se la funzione prevede argomenti la mancanza di argomenti crea il valore undefined..
    Ultima modifica di darbula : 01-02-2018 alle ore 20.36.37

  5. #5
    Guest

    Predefinito

    Guarda in pratica all’azione del metodo click o del keyup prende il valore del campo input e lo invia alla pagina php che lo passa in una query e poi restituisce i risultati “filtrati” all’inderno del div #result.

  6. #6
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Grazie.. Se il tuo scopo non è quello di inviare anche un valore vuoto allora non ti serve il trigger.
    Per lo più non devi ricaricare la pagina https://api.jquery.com/event.preventdefault/
    Ultima modifica di darbula : 04-02-2018 alle ore 01.27.23

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •