jQuery 自动完成源参数不更新
我对文本输入元素使用 jQuery 自动完成脚本,但问题是源 URI 中的 lang 变量在变量更新时不会更新。
每当我单击单选输入元素时,lang 的值就会更新,然后我在文本输入元素中键入一些内容,然后触发自动完成代码。奇怪的是它总是使用“en”值而不是更新后的值。
有谁知道更好的方法或修复我的代码?
代码:
var lang = 'en';
$('input[name="language"]').click(function()
{
lang= $(this).val();
});
$("#query").autocomplete({
source: "domain.com/suggest.php?language=" + lang,
minLength: 1
});
I'm using the jQuery autocomplete script for a text input element but the problem is that the lang variable in the source URI doesn't update when the variable is updated.
The value of lang is updated whenever I click on a radio input element and after that I type something in the text input element which then trigger the autocomplete code. Strangely enough it always uses the "en" value and not the updated value.
Does anyone know a better approach or a fix for my code?
code:
var lang = 'en';
$('input[name="language"]').click(function()
{
lang= $(this).val();
});
$("#query").autocomplete({
source: "domain.com/suggest.php?language=" + lang,
minLength: 1
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
单击事件发生在您单击选择时,而不是更改值时。因此 lang 可能会被重新分配给选择的当前值,如果它是英语,则在更改选择值后它将保持英语。您可能想做的是:
The click event occurs when you click on the select, not when you change values. So lang is probably getting reassigned to the current value of the select, which if it's english it will remain english after having changed the select value. What you probably mean to do is:
解决方案是创建自定义 AJAX 调用:
希望这对其他人也有帮助。
The solution is to a create custom AJAX call:
Hope this helps others too.
您应该将自动完成功能嵌入到单击或更改功能中,以便每次选择不同的单选按钮时,自动完成功能都会再次初始化:
You should embed the autocomplete function inside the click or change function so that each time you select a different radio button, the autocomplete is initialized again: