如何在jquery自动完成中获取当前元素?

时间:2016-10-29 20:51:27

标签: javascript jquery jquery-ui autocomplete

我正在使用jQuery自动完成功能。 我的页面中有10个文本框。我使用类名绑定自动完成。 在源方法中,我调用服务来根据用户输入的值获取数据。我需要将2个参数传递给服务。 1.用户输入的值。 2.存储在文本框父母中的数据。

我怎样才能得到它?

<div data-id="101">
    <input class="search_txt" type="text"/>
</div>
<div data-id="102">
   <input class="search_txt"  type="text"/>
</div>
.....
...
...
....
$('.search_txt').autocomplete({
      minLength: 1,
      source: function(request, response) {                                                                              
        //service here 
       //need to get "data-id" of current using text box.
      },
      focus: updateTextBox
      select: updateTextBox
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,请使用:

$('.search_txt:focus').parent().attr('data-id')

它将获得以类名.search_txt为焦点的输入,然后选择它的父级,并获取data-id的属性

示例:

$('.search_txt').autocomplete({
      minLength: 1,
      source: function(request, response) {                                              
        console.log("Data-id: "+$('.search_txt:focus').parent().attr('data-id'));   
        //service here 
       //need to get "data-id" of current using text box.
      }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<div data-id="101">
    <input class="search_txt" type="text"/>
</div>
<div data-id="102">
   <input class="search_txt"  type="text"/>
</div>