gpt4 book ai didi

javascript - 如何查找事件 Select2 元素的 id

转载 作者:行者123 更新时间:2023-11-28 05:52:32 26 4
gpt4 key购买 nike

我有一个表单,其中包含使用 Select2(版本 4)生成的多个选择菜单,其中每个选择元素的 id 值都是动态设置的。我想找到用户点击的选择元素的 id。

我可以让它发挥作用

$('.js-example-tokenizer-ajax-data').on('select2:open', function (evt) {
myValue = $(this).attr('id');
});

但是我需要在 ajax 调用中使用 myValue 作为 data 的参数,因此需要一个获取事件 select2 元素 id 的选项。我看过建议 var selectedEle = $(document.activeElement) 的帖子,但我不知道如何从那里获取 id。

更新

看来我可以将其包含为数据参数的值

data: getSelectedElement(function() {
return JSON.stringify({variable: myValue})
}),

函数为

function getSelectedElement(callback) {
$('.js-example-tokenizer-ajax-data').on('select2:opening', function (evt) {
myValue = $(this).attr('id');
callback();
});
}

但是仍然存在一些计时问题,因为 ajax 似乎在单击选择元素之前触发,因为当我加载页面时,我收到错误 'NoneType' object has no attribute '__getitem__' I收集,因为加载页面时 myValue 没有值。

还有其他选项可以获取所选 select2 元素的 id 吗?或者,有没有办法解决时间问题?

最佳答案

如果var selectedEle = $(document.activeElement)确实获得了您想要的元素,您只需执行document.activeElement.id即可。

根据海报的更新进行更新:

在另一个堆栈溢出答案中,有人说 this.context 将为您提供正确的元素,在这种情况下 this.context.id 将为您提供 id。

关于javascript - 如何查找事件 Select2 元素的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978152/

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