jquery 自动完成,否则如果未选择项目

标签 jquery

我正在使用这个 jquery 自动完成代码:

$(document).ready(function(){
          var data = <?php echo $data; ?>;
          $("#contact_name").autocomplete({
              source:data,
              select: function(e, ui) {
                  e.preventDefault() // <--- Prevent the value from being inserted.
                  $("#contact_email").val(ui.item.value);
                  $(this).val(ui.item.label);

                  $("#AddAsContact").css('display', 'none');
                  $('#AddAsContact').prop('checked', false);
              }
          });
      });

它工作得很好,完全符合预期,但是如果未选择自动完成列表中的某个项目并且只是在文本输入中输入了其他内容,我如何运行一些不同的代码。有点像 else { ...这里的代码... }

最佳答案

当您从下拉菜单中选择某些内容时,会触发select事件。

您可以使用 change 事件来确定该项目是否属于自动完成列表,

 change: function (event, ui) {
         if (ui.item === null) {
              $(this).val('');
              $('#field_id').val('');
         }
       }

而且,这是一个 Demo Fiddle为你。

希望这对您有帮助。

关于jquery 自动完成,否则如果未选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27561967/

相关文章:

javascript - 在本地服务器而非实时服务器上发送 AJAX/PHP 表单

jquery - 初始化服务器端处理数据表后如何调整列?

javascript - 在 SPA 中保持元素加载基于 knockout 的 View

javascript - 索引或大小为负,或大于允许值。

javascript - 多个脚本冲突

javascript - 在 iphone 的 webview 上自动显示键盘到下一个输入文本

javascript - jquery上/下滑动没有动画

jquery - 在 IE 9 中加速圆 Angular

jquery - 检查 HTML 表格中的空单元格

javascript - JSON 解析时抛出错误