2009-09-16 7 views
0

Dans mon application ASP.Net MVC, j'ai une saisie semi-automatique jQuery dans une zone de texte. J'ai tout ce qui fonctionne pour afficher les noms d'éléments actuellement utilisés et ce que je veux faire est de forcer l'utilisateur à entrer un nom d'article complètement nouveau. C'est à dire. la saisie semi-automatique sert de guide à ce qui existe mais l'utilisateur doit finalement entrer une valeur de chaîne complètement utilisée. Je souhaite que l'interface utilisateur signale si un élément actuellement utilisé est sélectionné (il y aura une autre vérification du côté serveur lorsque submit est envoyé). Pour l'instant, il y a juste une simple alerte().jQuery autocomplete pour obtenir la valeur inutilisée

Mon script est la suivante:

$(document).ready(function() { 
     $('#combobox').autocomplete('<%= Url.Action("ProjectIdList", "LookUp") %>', { 
    delay:10, 
    minChars:1, 
    matchCase: 0, 
    matchSubset: 1, 
    autoFill: true, 
    maxItemsToShow:10, 
    cacheLength: 10, 
    onItemSelect:selectItem, 
    onFindValue:selectItem  
    }); 

});

S'il vous plaît noter le balisage: onItemSelect: selectItem, onFindValue: selectItem

J'ai scénario plus comme suit:

function findValue(li) { 
     if (li != null) return alert("This Project Id cannot be used"); 


    } 
    function selectItem(li) { 
     findValue(li); 

    } 

Cependant, je ne peux pas obtenir ces événements au feu . Qu'est-ce que je rate?

Sinon, existe-t-il une meilleure façon de le faire?

Répondre

0

code final complet pour cela pour aider tous ceux qui en ont besoin est la suivante:

$(document).ready(function() { 
     $('#combobox').autocomplete('<%= Url.Action("ProjectIdList", "LookUp") %>', 
{ 
    delay: 10, 
    minChars: 1, 
    matchCase: 0, 
    matchSubset: 1, 
    autoFill: true, 
    maxItemsToShow: 10, 
    cacheLength: 10 

} 
); 

     $('#combobox').result(function(item) { 
      if (item) { 
       //no match 
       alert("Not this one!"); 
      } 
     }); 
    }); 
1

Je l'ai utilisé

$("combobox").result(function(item){ 
    if(!item) 
    { 
    //no match 
    } 
}); 

avec un certain succès avec le plug-in officiel.

+0

Merci, je l'ai eu de travail en ajoutant le script followijng dans le bloc document.ready: $ ('# combobox ') .result (function (item) { if (item) { // aucune correspondance alert ("Not this one!"); } }); }); – Redeemed1

Questions connexes