2010-06-24 3 views
1

J'ai un problème avec la saisie semi-automatique de jqueryui.Quand je filtre le mot de filtrage results.it comme il contient, mais je veux comme startswith.Comment puis-je faire cela? (Les mots proviennent d'un fichier xml)Problème d'auto-complétion JqueryUi

Merci.

Edit: Voici mon code complet JQ:

$(function() { 


     function log(message) { 
      if ($("#<%=From1.ClientID %>").val() == "") { 
       $("#<%=From1.ClientID %>").val(message); 
      } 
      else if ($("#<%=From2.ClientID %>").val() == "") 
      { $("#<%=From2.ClientID %>").val(message); } 
      else { $("#<%=From3.ClientID %>").val(message); } 

     } 

     function log2(message) { 
      if ($("#<%=To1.ClientID %>").val() == "") { 
       $("#<%=To1.ClientID %>").val(message); 
      } 
      else if ($("#<%=To2.ClientID %>").val() == "") 
      { $("#<%=To2.ClientID %>").val(message); } 
      else { $("#<%=To3.ClientID %>").val(message); } 

     } 

     $.ajax({ 
      url: "airports.xml", 
      dataType: "xml", 
      success: function (xmlResponse) { 
       var data = $("airport", xmlResponse).map(function() { 
        return { 
         label: $("code", this).text() + ", " + $("name", this).text() + ", " + $("city", this).text() + "/" + $("country", this).text(), 
         value: $("code", this).text(), 
        }; 
       }).get(); 
       var data2 = $("airport", xmlResponse).map(function() { 
        return { 
         label: $("code", this).text() + ", " + $("name", this).text() + ", " + $("city", this).text() + "/" + $("country", this).text(), 
         value: $("code", this).text() , 
        }; 
       }).get(); 

       $("#<%=ToL.ClientID %>").autocomplete({ 
        source: data2, 
        minLength: 2, 
        select: function (event, ui) { 
         log2(ui.item ? (ui.item.value) : "Nothing selected, input was " + this.value); 
        } 
       }); 
       $("#<%=FromL.ClientID %>").autocomplete({ 
        source:data, 
        minLength: 2, 
        select: function (event, ui) { 
         log(ui.item ? (ui.item.value) : "Nothing selected, input was " + this.value); 
        } 
       }); 
      } 
     }) 
    }); 

Répondre

1

Si vous traitez comme une source de données à distance, il se déclenche une requête AJAX et vous pouvez ensuite interroger vos données comme bon vous semble, donc si la valeur est au début de la chaîne, ou n'importe quelle partie d'une chaîne.