我当前正在使用id^
jQuery选择器来查找每个以其ID的特定短语开头的元素,以实现自动完成方法。但是,在我的函数中,当我选择该选项以将其绑定到正确的文本框时,我想访问其特定的ID。我已经尝试过类似this.id
或$(this).id
之类的方法,但似乎都无法正常工作。代码如下:
$('[id^="skill_name-"]')
.autocomplete({
source: function(request, renderChoices) {
$.ajax({
context: this,
url: "",
data: {
csrfmiddlewaretoken: csrf_token,
q: request.term
},
success: function(data) {
console.log(this.id)
var skill_array = new Array();
{% for skill in skill_listing %}
var name = ("{{ skill.name|escapejs|safe }}");
if (((name.substring(0,(request.term).length)).toLowerCase() === (request.term.toLowerCase()))) {
skill_array.push("{{skill}}");
}
{% endfor %}
renderChoices(skill_array);
}
});
},
select: function(e, ui) {
e.preventDefault();
$("#skill_name-new").val(ui.item.value);
},