gpt4 book ai didi

JQuery - 获取调用元素 id

转载 作者:行者123 更新时间:2023-12-01 01:00:51 25 4
gpt4 key购买 nike

问题

在自动完成的源函数中,我想获取选择器的 ID。有没有办法可以遍历调用堆栈并得到这个? JQuery 有这种抽象级别吗?

为什么?

我将在页面上有多个自动完成功能,并且每个自动完成功能将在服务器端以不同的方式处理。我必须使用另一个函数作为源。否则我会使用 URL + 数据:很久以前 =p

JQuery 版本

jquery-1.9.1

研究

当然,我一直在关注这个: JQuery API

How to get element Id from dynamically generated form elements with jquery?

我认为很多尝试都行不通,但现在我正处于反复试验的阶段。

$(this).attr('id'); - 未定义

Caller function name

我虽然尝试获取调用者函数名称,并用它做一些事情...似乎没有输出任何内容。

附加到源函数(这太荒谬了!!!将文本附加到函数?!真的我很绝望......)

 $("#inPdVehMk").autocomplete({
source: autoCompletePost + "field="+$(this).attr('id'),
minLength: 2,
select: function(event, ui){
alert(ui.label1);
alert("value= " + ui.item.value + " id= "+ ui.item.id);
}
});

自动完成设置

    $("#inPdVehMk").autocomplete({
source: autoCompletePost,
minLength: 2,
select: function(event, ui){
alert(ui.label1);
alert("value= " + ui.item.value + " id= "+ ui.item.id);
}
});

源函数

function autoCompletePost(request, response){
//alert($(this).attr('id')); //this is where I'm testing to see the ids.
$.post(AjaxPageAutoComplete, { searchTerm: request.term, field: 'inPdVehMk'}, //I want field to be dynamic depending on the calling selector.
function(data) {
var splitData = data.split("%");
var json = jQuery.parseJSON(splitData[1].toString());

if(data.search('autoCompleteError') !== -1 || data.length < 1){
DialogBox('Div_ErrorMessage^Open^autoCompleteError');
}else{
response(json);
}
}
);
}

最佳答案

我很尴尬我花了这么长时间才弄清楚这一点。

在源函数中使用此行来获取自动完成的 ID。

$(this.element).prop("id")

由于自动完成是一个 jquery 小部件,因此 this 对象引用 widget 实例。要获取该元素,您需要遍历它的 element 属性。

JSFiddle

公平地说,除非您使用 Widget Factory 创建小部件,否则这并没有很好的记录。 .

关于JQuery - 获取调用元素 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com