jQuery 自动完成,更改事件未按预期工作
jQuery auto complete, change event not working as expected
早上好,
我有以下代码:
$("#close-request-field-clinic").autocomplete({
source: arrayClinic,
delay: 0,
minLength: 0,
isDivider: function( item ) {
return false;
},
focus: function ( event, ui ) {
$('#close-request-field-clinic').val( ui.item.label );
return false;
},
select: function( event, ui ) {
$('#close-request-field-clinic').val( ui.item.label );
if(ui.item.value == -1) {
resetField('#close-request-field-clinic', false);
} else {
successField('#close-request-field-clinic');
setKey(finalValues, 'clinic', ui.item.value);
if(msieversion()) {
$(this).blur();
}
}
checkValidation(fieldCheck,'#close-request-personal-information-next');
return false;
},
change: function( event, ui ) {
alert('change');
if(!ui.item) {
resetField('#close-request-field-clinic', false);
removeKey(finalValues, 'clinic');
}
checkValidation(fieldCheck,'#close-request-personal-information-next');
return false;
}
}).focus(function(){$(this).autocomplete("search", "")});
其中大部分工作完美,但是,当字段更改时,似乎并不总是触发 'change' 事件。
从列表中选择一个元素时,它工作正常,但是如果您使用退格(删除)键删除框中的值,然后单击文本框,更改事件仅为 有时 打电话。有没有我遗漏的东西?..似乎只有在手动删除值时才会调用它。
此致,
乔什
这是替代清洁解决方案
$("#close-request-field-clinic").on("autocompletechange", function(event,ui) {
alert($(this).val());
});
此答案复制自here
早上好,
我有以下代码:
$("#close-request-field-clinic").autocomplete({
source: arrayClinic,
delay: 0,
minLength: 0,
isDivider: function( item ) {
return false;
},
focus: function ( event, ui ) {
$('#close-request-field-clinic').val( ui.item.label );
return false;
},
select: function( event, ui ) {
$('#close-request-field-clinic').val( ui.item.label );
if(ui.item.value == -1) {
resetField('#close-request-field-clinic', false);
} else {
successField('#close-request-field-clinic');
setKey(finalValues, 'clinic', ui.item.value);
if(msieversion()) {
$(this).blur();
}
}
checkValidation(fieldCheck,'#close-request-personal-information-next');
return false;
},
change: function( event, ui ) {
alert('change');
if(!ui.item) {
resetField('#close-request-field-clinic', false);
removeKey(finalValues, 'clinic');
}
checkValidation(fieldCheck,'#close-request-personal-information-next');
return false;
}
}).focus(function(){$(this).autocomplete("search", "")});
其中大部分工作完美,但是,当字段更改时,似乎并不总是触发 'change' 事件。
从列表中选择一个元素时,它工作正常,但是如果您使用退格(删除)键删除框中的值,然后单击文本框,更改事件仅为 有时 打电话。有没有我遗漏的东西?..似乎只有在手动删除值时才会调用它。
此致, 乔什
这是替代清洁解决方案
$("#close-request-field-clinic").on("autocompletechange", function(event,ui) {
alert($(this).val());
});
此答案复制自here