jQuery自动完成,更改事件无法按预期工作

前端之家收集整理的这篇文章主要介绍了jQuery自动完成,更改事件无法按预期工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
早上好,

我有以下代码

  1. $("#close-request-field-clinic").autocomplete({
  2. source: arrayClinic,delay: 0,minLength: 0,isDivider: function( item ) {
  3. return false;
  4. },focus: function ( event,ui ) {
  5. $('#close-request-field-clinic').val( ui.item.label );
  6. return false;
  7. },select: function( event,ui ) {
  8. $('#close-request-field-clinic').val( ui.item.label );
  9. if(ui.item.value == -1) {
  10. resetField('#close-request-field-clinic',false);
  11. } else {
  12. successField('#close-request-field-clinic');
  13. setKey(finalValues,'clinic',ui.item.value);
  14. if(msieversion()) {
  15. $(this).blur();
  16. }
  17. }
  18. checkValidation(fieldCheck,'#close-request-personal-information-next');
  19. return false;
  20. },change: function( event,ui ) {
  21. alert('change');
  22. if(!ui.item) {
  23. resetField('#close-request-field-clinic',false);
  24. removeKey(finalValues,'clinic');
  25. }
  26. checkValidation(fieldCheck,'#close-request-personal-information-next');
  27. return false;
  28. }
  29. }).focus(function(){$(this).autocomplete("search","")});

其中大部分工作都很完美,但是,当字段被更改时,“更改”事件似乎并不总是被触发.

从列表中选择元素时,它可以正常工作,但是如果使用退格键(删除)键删除框中的值,然后单击文本框,则有时仅调用更改事件.有什么我缺少的东西吗?似乎只有在手动删除值时才会调用它.

问候,
玩笑

解决方法

这是另一种清洁解决方
  1. $("#close-request-field-clinic").on("autocompletechange",function(event,ui) {
  2. alert($(this).val());
  3. });

这个答案从here复制过来

猜你在找的jQuery相关文章