Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [Jquery] Autocomplete con valore iniziale

    Volevo sapere come è possibile con il widget autocomplete di JQuery collegato ad una fonte dati JSON impostare un valore iniziale invece che lasciarlo vuoto.
    Questo è il codice:

    codice:
    $(document).ready(function() { 
       $('#ads-place').autocomplete({
       source:"/utility-library/autocomplete-ajax.php", minLength: 2, 
       change: function(event, ui) {
       if (!ui.item) {
       $(this).val(ui.item.label);
       $('#ads-place-id').val(ui.item.value);
       return false;
       }
    },
       select: function(event, ui) {
       $(this).val(ui.item.label);
       $('#ads-place-id').val(ui.item.value);
       return false;
    }
    })
     });
    C'è da dire che quando l'utente sceglie un elemento nell'autocomplete io riempio anche un campo hidden (che purtroppo oltretutto viene inizializzato con il valore 0 anche se io nel value ho inserito un valore differente).
    Ovviamente il valore iniziale nell'autocomplete vorrei che fosse uno degli elementi della fonte dati JSON.
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sicuro che si capisca cosa vuoi?
    Non è che postando parte dello script autocomplete si capisce cosa vuoi, o cosa puoi fare.
    - Valore json quale?
    - Valore iniziale quale?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Se ho capito bene, vuoi mettere un valore iniziale al campo input e far partire l'autocomplete in modo programmatico?

    Se è cosi, nell'html ci sarà una cosa tipo questa:

    codice:
    <input type="text" value="val" id="ads-place" />
    Nel javascript se vuoi farlo al caricamento della pagina metti questa istruzione nel document ready, dopo aver istanziato l'autocomplete, altrimenti la metti in una funzione scaturita al click (o qualsiasi altro evento tu voglia).

    codice:
    $('#ads-place').autocomplete('search');
    In pratica con l'istruzione sopra "scaturisci" l'evento dell'autocomplete utilizzando il contenuto dell'input per cercare i valori (nell'esempio la stringa "val").

    ciao

  4. #4
    Originariamente inviato da gianiaz
    Se ho capito bene, vuoi mettere un valore iniziale al campo input e far partire l'autocomplete in modo programmatico?

    Se è cosi, nell'html ci sarà una cosa tipo questa:

    codice:
    <input type="text" value="val" id="ads-place" />
    Nel javascript se vuoi farlo al caricamento della pagina metti questa istruzione nel document ready, dopo aver istanziato l'autocomplete, altrimenti la metti in una funzione scaturita al click (o qualsiasi altro evento tu voglia).

    codice:
    $('#ads-place').autocomplete('search');
    In pratica con l'istruzione sopra "scaturisci" l'evento dell'autocomplete utilizzando il contenuto dell'input per cercare i valori (nell'esempio la stringa "val").

    ciao
    Adesso provo e ti dico se funziona. Grazie!
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  5. #5
    ahimè,
    purtroppo non funziona.

    Mi apre il menu ma non me lo seleziona. Inoltre il campo hidden (#ads-place-id) mi viene inizializzato sempre con uno 0 anche se io nell'html lo inizializzo con l'id del paese selezionato.

    Sembra come se quando si inizializza il campo di testo con l'autocomplete (#ads-place) viene invocato l'evento select e quindi mi mette uno 0 anche al campo hidden.

    Qualcuno sa come impedirlo?
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    aspetta io avevo capito che tu volessi far partire l'autocomplete con un valore da te preselezionato, ma che mostrasse i risultati della ricerca.

    Non ho capito, tu vuoi un valore preselezionato?
    Se si, perchè non lo fai lato server allora? Potresti valorizzare il campo input con l'id e il campo input con il testo direttamente nell'html.

    Ciao

  7. #7
    Originariamente inviato da gianiaz
    aspetta io avevo capito che tu volessi far partire l'autocomplete con un valore da te preselezionato, ma che mostrasse i risultati della ricerca.

    Non ho capito, tu vuoi un valore preselezionato?
    Se si, perchè non lo fai lato server allora? Potresti valorizzare il campo input con l'id e il campo input con il testo direttamente nell'html.

    Ciao
    E' quello che ho fatto. Il problema è che JQuery mi azzera il valore del campo hidden (#ads-place-id) (quello che contiene l'id del paese selezionato). Mentre per il campo di testo (#ads-place) (quello che visualizza il nome del paese selezionato) non ci sono problemi.
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da prozac2000
    E' quello che ho fatto. Il problema è che JQuery mi azzera il valore del campo hidden (#ads-place-id) (quello che contiene l'id del paese selezionato). Mentre per il campo di testo (#ads-place) (quello che visualizza il nome del paese selezionato) non ci sono problemi.
    Jqurey non azzera/cancella nulla che tu non gli dica e più precisamente qui
    $('#ads-place-id').val(ui.item.value); ui.item.value che valore ha?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Originariamente inviato da cavicchiandrea
    Jqurey non azzera/cancella nulla che tu non gli dica e più precisamente qui
    $('#ads-place-id').val(ui.item.value); ui.item.value che valore ha?
    Riceve il valore JSON dalla fonte dati php: autocomplete-ajax.php
    I valori sono 2: il primo è il nome del paese e il secondo il suo id.

    Il primo lo inserisco nel campo di testo (#ads-place) tramite
    $(this).val(ui.item.label);

    e il secondo lo inserisco nel campo hidden (#ads-place-id) tramite
    $('#ads-place-id').val(ui.item.value);

    Ma ciò deve accadere solo quando l'utente sceglie un paese.

    Se tramite lato server io riempio il campo di testo e il campo hidden con un paese ed il suo id (Ad esempio quando l'utente sta modificando un record) per qualche motivo il campo hidden viene riempito con uno 0, anche se nell'html viene impostato con l'id del paese.
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @prozac2000 fatico a seguirti e non ho ancora capito se il problema è lato server (come suppongo) o jquery (che dubito) oltretutto non rispondendo alle domande (o dandole vaghe) il tutto si complica.
    Auguri per la soluzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.