J'essaie de faire la saisie semi-automatique et l'événement onchange à la fois.
Signifie: Je veux déclencher un événement onchange dans une zone de texte à saisie semi-automatique. Lorsque j'écris quelque chose dans la zone de texte à partir du clavier et que je clique à l'extérieur de la zone de texte, le déclenchement de l'événement onchange, mais lorsque je sélectionne quelque chose dans l'événement de suggestion automatique de noms onchange ne se déclenche pas.
Mon code HTML
<div style="width: 34%">
Person Name:<input id="txt0" type="text" onchange="SaveData('txt0')" class="userSearch" placeholder="Helped Person" />
</div>
Code JavaScript
function AutoComplete() {
//Autocomplete added to the textbox.
$('.userSearch').autocomplete({
source: function (request, response) {
$.ajax({
url: "CTC.aspx/GetMemberName",
data: "{ 'prefixText': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
response(data.d)
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error occured while autocomplete');
}
});
},
minLength: 1
});
}
function SaveData(textBoxId) {
alert(textBoxId);
}
Je veux déclencher l'événement onchange après avoir sélectionné la saisie semi-automatique.
Veuillez aider
Merci d'avance.
Vous pouvez utiliser l'événement change sur le widget de saisie semi-automatique pour y parvenir. http://api.jqueryui.com/autocomplete/#event-change
Par exemple:
function AutoComplete() {
//Autocomplete added to the textbox.
$('.userSearch').autocomplete({
source: function (request, response) {
// your ajax code
},
minLength: 1,
change: function (event, ui) { SaveData(); }
});
}
$('#1').autocomplete({
select: function(event, ui) {
"use strict";
alert('select event called');
},
source: ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "LISP", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme"],
minLength: 1,
change: function(event, ui) {
if (ui.item) {
alert("ui.item.value: " + ui.item.value);
} else {
alert("ui.item.value is null");
}
console.log("this.value: " + this.value);
}
});
Cela peut effectuer à la fois la sélection et la modification de l'événement pour la saisie semi-automatique.
vous pouvez également vérifier le violon http://jsfiddle.net/74wLyd8v/
$('.userSearch').trigger('change');
Cela déclenchera l'événement "change"
KDRVN est correct.
$( ".selector" ).autocomplete({
select: function( event, ui ) {}
});
un péché
$( "#models" ).autocomplete({source: models, select: function( event, ui ) {alert('flippy');} });
Aucun de ceux-ci:
$('#models').on('select', function() { alert('waawoo'); });
$('#models').on('change', function() { alert('feefaa'); });
onchange="updateModels(this)"