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

    ricerca solo case-sensitive?

    la ricerca in javascript è solo case-sensitive?

    vi spiego il mio problema:

    io ho una lista di comuni in un database (per chi mi sta rispondendo da giorni sa a cosa mi servono ) e voglio che quando l'utente inizia a scrivere il proprio comune in un campo di testo gli compaiano a lato tutti quelli disponibili che iniziano con i caratteri che scrive e man mano che scrive la lista si assottiglia.

    Giusto per capirci, è una cosa come la ricerca in questo sito: http://www.teknolit.it/illuminotecni...ogoi.php/len/1

    con un esempio sono sicuro si capirà meglio; provate a fare una ricerca e vedrete che man mano scrivete nella casella la lista si assottiglia.

    Ecco, io l'ho risprodotto per il mio sito solo che se nel db sta scritto BRESCIA lui trova solo BRESCIA e non Brescia

    [tengo a precisare che non ho rubato niente, quello sul sito che vedete è roba mia, o comunque che mi avete aiutato voi a fare ]

    vi posto i codici che uso:
    - la funzione updateList è quella che man mano che uno scrive aggiorna la lista dei comuni disponibili:
    codice:
    function updateList( __hForm, __hArtName )
    {
      var itemFound    = 0;
      var artToSearch  = __hArtName.value;
      var artListFound = "";
    
      for ( var i=0; i<artList.length; i++ )
      {
         if ( artToSearch == artList[i].substring( 0, artToSearch.length)  )  {
           artListFound += "<a href=\"javascript:selcopy('" + artList[i] + "');\" onclick=\"nascondi(); \">" + artList[i] + "</a>
    ";
           itemFound++;
         }
      }
      if ( itemFound )
        artListFound = artListFound;
      else
        artListFound = "Nessun articolo trovato.";
      document.getElementById("mio_layer").innerHTML = artListFound; 
    }

    funziona benissimo! l'unica cosa è che mi trova la stringa solo se è scritta ESATTAMENTE uguale a quella nel db facendo distinzione tra maiuscole e minuscole, cosa che io non vorrei.


    Qualcuno riesce a darmi una mano?











    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Tutte le variabili JS sono case-sensitive (tranne qualche versione di IE).

    Puoi usare i metodi .toLower() oppure .toUpper() da applciare alle stringhe, oppure puoi fare il confronto usando le RegExp con la /i

    Esempio (partendo dal tuo):
    var artToSearch = __hArtName.value.toLower();
    ...
    if (artToSearch == artList[i].substr(0,artToSearch.length).toLower() ) {
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    con il toLowerCase sembra essere a posto!




    Grazie!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Potresti indicarmi come hai risolto?
    Come applichi a funzione al select?

  5. #5
    Originariamente inviato da semolino
    Potresti indicarmi come hai risolto?
    Come applichi a funzione al select?
    non ho capito cosa intendi...poi non so spiegare molto bene in js visto che non so nulla praticamente...


    comunque ho risolto come ha detto Mich_ ho applicato il toLowerCase, non toLower che mi diceva che il metodo non esiste, alla mia stringa. Il metodo l'ho applicato con il punto esattamente come ha indicato Mich_



    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Mi potresti ripostare il codice con l'aggiunta dei vari LowerCase?

    Poi questa funzione la metti nell'header?
    Nella parte di html come utilizzi questa funzione al tuo campo di ricerca?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Scusate, ho dimenticato un pezzo.
    Ma vedo che Manuel ha brillantemente ovviato.

    Per semolino:
    dove io ho scritto
    .toLower()
    devi sostituire:
    .toLowerCase()

    Per il resto la funzione di Manuel dovrebbe essere a posto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.