J'ai déclaré deux variables, COURSE_ID_List et COURSE_ID_timerId. Ils sont ensuite passés en tant que paramètres à la fonction SetFilter à partir de l'événement OnKeyUp.Référence à une variable Javascript dans un problème d'événement OnKeyUp
Si la liste n'est pas définie, elle doit l'initialiser. Le problème est que la liste est toujours indéfinie, donc je suppose que la LISSE_ID_List utilisée dans l'événement OnKeyUp est transmise par valeur et non par référence. Comment puis-je contourner cela?
Merci
<script type="text/javascript">
function SetFilter(ddl, value, list, timerId) {
if (list == undefined)
list = new ListFilter(ddl);
clearTimeout(timerId);
timerId = setTimeout(function() { list.SetFilter(value);}, 1500);
}
var COURSE_ID_List;
var COURSE_ID_List_timerId;
</script>
<input name="Course" type="text" id="COURSE_ID" onKeyUp="SetFilter('COURSE_ID', this.value, COURSE_ID_List, COURSE_ID_List_timerId);" />
Notez que le * keyup * événement est pas une bonne façon de détecter l'entrée d'utilisateur. Il existe d'autres événements que vous pouvez utiliser pour attraper d'autres types de données, comme le collage ou le glisser-déposer. Voir http://whattheheadsaid.com/2010/09/effective-detecting-user-input-in-javascript –