Событие Fire Onchange после автозаполнения
Я пытаюсь выполнить событие Autocomplete и onchange.
Средство: я хочу запустить событие onchange в текстовом поле автозаполнения.
Когда я пишу что-то в текстовом поле с клавиатуры и выхожу за пределы текстового поля, а затем запускаю событие обмена, но когда я выбираю что-то в списке автопредложений, событие onchange не запускается.
Мой HTML-код
<div style="width: 34%">
Person Name:<input id="txt0" type="text" onchange="SaveData('txt0')" class="userSearch" placeholder="Helped Person" />
</div>
Код 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);
}
Я хочу запустить событие onchange после выбора из автозаполнения.
Пожалуйста, помогите
Спасибо заранее.
Ответы
Ответ 1
Вы можете использовать событие изменения для виджета автозаполнения для достижения этого.
http://api.jqueryui.com/autocomplete/#event-change
Например:
function AutoComplete() {
//Autocomplete added to the textbox.
$('.userSearch').autocomplete({
source: function (request, response) {
// your ajax code
},
minLength: 1,
change: function (event, ui) { SaveData(); }
});
}
Ответ 2
$('.userSearch').trigger('change');
Это вызовет событие "изменения"
Ответ 3
$('#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);
}
});
Это может выполнять как выбор, так и изменение события для автозаполнения.
вы также можете проверить скрипт http://jsfiddle.net/74wLyd8v/
Ответ 4
KDRVN верна.
$( ".selector" ).autocomplete({
select: function( event, ui ) {}
});
как в
$( "#models" ).autocomplete({source: models, select: function( event, ui ) {alert('flippy');} });
Ни один из них:
$('#models').on('select', function() { alert('waawoo'); });
$('#models').on('change', function() { alert('feefaa'); });
onchange="updateModels(this)"