如何获取 jquery-ui 自动完成小部件的上下文?

How can i get the context of a jquery-ui autocomplete widget?

我正在为 Web 项目使用 jQueryUI 自动完成功能。我需要获取每个调用的 inputname 属性。我怎么才能得到它? this 无法获取函数内部的上下文。

$("input").autocomplete({
  delay: 600,
  minLength: 2,
  source: function(request, response) {
    var term = request.term; 
    $.getJSON(url, request, function(data, status, xhr) {
      response(data);
    });
  }
});

您可以通过在 each() 循环中初始化自动完成来实现这一点。这意味着您可以访问 this 参考资料:

$("input").each(function() {
  var $input = $(this);

  $input.autocomplete({
    delay: 600,
    minLength: 2,
    source: function(request, response) {
      var term = request.term; 
      // do something with $input.prop('name') here...
      $.getJSON(url, request, function(data, status, xhr) {
        response(data);
      });
    } 
  });
});