Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1

    Rimuovere lo spinner se autocomplete di jquery non ha dato risultato

    Ciao a tutti io uso lo script autocomplete di jquery per ottenere dei risultati digitando su un campo di testo e questo è il mio script:

    codice:
    <script>
    $(function() {
    
        $( "#campotesto" ).autocomplete(
        {
            source:
                    function(request, response) { 
                            $.ajax({ 
                            url: "/include/select-data.asp",
                            dataType: "json",
                            
                            data: { 
                                term : request.term,
                                mode : "TABELL",
                                result: $("#top_risultati").val(),
                                field: $("#cerca_per").val()
                            }, 
                            
                            success: function(data) { 
                                response(data); 
                            } 
                            
                            }); 
                        }, 
                    
                        minLength: 1,
                        delay: 700,
    
                        search: function(){$(this).addClass('loading-auto');},
                        open: function(){$(this).removeClass('loading-auto');},
    
            select: function( event, ui ) {
                $( "#campotesto" ).val( "[" + ui.item.label + "] " + ui.item.actor );
                return false;
            }
        }).data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>[<strong>" + item.label + "</strong>] " + item.actor + "</a>" )
                .appendTo( ul );
            };        
    });
    </script>
    Tutto funziona alla perfezione ho inoltre creato la classe loading-auto che non è altro che uno spinner, che si diciamo avvia quando viene cercato un risultato e viene rimossa quando si ottiene un risultato.
    Ho il seguente problema: se viene cercato qualcosa che non c'è la classe rimane sempre in search e quindi lo spinner è visibile... io vorrei rimuovere la classe se non ho risultati o far apparire un messaggio a video.... sapete darmi qualche dritta?
    Grazie a tutti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    cosi hai provato?
    codice:
    success: function(data) { 
    $(this).removeClass('loading-auto'); 
    response(data);
                            }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    cosi hai provato?
    codice:
    success: function(data) { 
    $(this).removeClass('loading-auto'); 
    response(data);
                            }
    Ho provato anche così come hai indicato tu ma nulla continuo a vedere lo spinner ovvero la classe quando non ci sono risultati nella ricerca.
    Avevo provato anche così (sotto) ma nulla da fare...

    codice:
    ...
            source:
                    function(request, response) { 
                            $.ajax({ 
                            url: "/include/select-data.asp",
                            dataType: "json",
                            
                            data: { 
                                term : request.term,
                                mode : "TABELLa",
                                result: $("#top_risultati").val(),
                                field: $("#cerca_per").val()
                            }, 
                            
                            success: function(data) { 
                               // $(this).removeClass('loading-auto'); (tua soluzione)
                                response(data); 
                            } 
                            });
    
                   var results = $.ui.autocomplete.filter(data, request.term); 
    alert('results');          // ma non mi restituisce nessun valore...
    }, 
    ...

  4. #4
    niente da fare.....
    nessuno mi sa dare qualche indicazioni su cosa provare a fare?
    Grazie a tutti

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova cosi: $("#campotesto").removeClass('loading-auto'); nel success

  6. #6
    Perfetto! grazie!!

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.