[JavaScript] Motore di ricerca su

di il
2 risposte

[JavaScript] Motore di ricerca su

Dovrei creare un motore di ricerca che lavora su un <SELECT> HTML ma non ci riesco da solo:



<pre id=code><font face=courier size= id=code>
<script language="javascript">
<!--
function CercaSuSelect(){

var myItem = document.FormCategoria.Stringa;

for(var i in document.FormCategoria.ID_Categoria){
if(i.text == myItem.value){
document.FormCategoria.ID_Categoria.selected=true;
}
}

}
-->
</script>

<form name="FormCategoria" id="FormCategoria">
<input type="text" name="Stringa" style="width:200px;">
<input type="button" value="Cerca" style="width:50px;" onClick="CercaSuSelect();">
<br><br>
<select name="ID_Categoria" size="2" style="width:250px;height:250px;">
<option value="" selected></option>
<option value="1">Pere</option>
<option value="2">Mele</option>
<option value="3">Banane</option>
<option value="4">Pompelmi</option>
<option value="5">Ananas</option>
<option value="6">Kiwi</option>
<option value="7">Albicocche</option>
<option value="8">Susine</option>
<option value="9">Pesche</option>
<option value="10">Pompelmi</option>
</select>
</form>
</font id=code></pre id=code>

chiaramente non funziona !!!!!

cosa sto' sbagliando ???

2 Risposte

  • Re: [JavaScript] Motore di ricerca su

    Ho trovato !!!!

    <pre id=code><font face=courier size= id=code>
    <script language="javascript">
    <!--
    function CercaSuSelect(){
    var mySelect = document.FormCategoria.ID_Categoria;
    var MyRicerca = document.FormCategoria.Stringa;
    for(var i=0; i<mySelect.length; i++){
    if(mySelect.options[i].text.toUpperCase() == MyRicerca.value.toUpperCase()){
    mySelect.options[i].selected = true;
    }
    }
    }
    -->
    </script>
    </font id=code></pre id=code>

    solo che devo digitare solamente l'intera stringa esatta altrimenti non riesce a trovare una porzione di stringa,
    e' possibile risolvere questo???
  • Re: [JavaScript] Motore di ricerca su

    Guarda un pò se ti va bene...

    function Cerca(input1,input2)
    {
    with (document.form)
    {
    ThisFind=-1;
    StringToSearch=input1.value.toLowerCase();
    StringToSearchLength=StringToSearch.length;
    if (StringToSearchLength>0)
    for (i=0;i<input2.options.length;i++)
    ThisFind==-1&&input2.options[i].text.toLowerCase().substring(0,StringToSearchLength)==StringToSearch?ThisFind=i:null;
    else
    ThisFind=0;
    input2.selectedIndex=ThisFind;
    }
    }// fine funzione Cerca


    il c# è un linguaggio tagliente...
Devi accedere o registrarti per scrivere nel forum
2 risposte