请查看以下自动填充代码。
$(document).ready(function(){
$("#the_input").autocomplete("/autocomplete.php", {
//some options
extraParams: {
base: $('.selected_button').prev('input').val() //***
},
formatItem: function(data, i, n, value) {
return value;
}
});
});
“base”参数是我的问题(用注释标记的部分)。
页面上有三个按钮和三个隐藏的输入字段。 最初,当页面加载时,我将“selected_button”添加到其中一个按钮。 我已经确认“base:”之后的jquery代码可以用来访问这个元素。 当用户点击其他一个按钮时,我从所有按钮中删除“selected_button”类,并将其添加到用户单击的按钮。
我想用它来更改用于自动完成查找的基本文件夹。
问题是自动完成总是使用最初设置的路径,无论我点击什么按钮。 所以我认为自动完成功能无法识别我在运行时所做的类更改。
答案 0 :(得分:1)
删除selected_button时需要更改选项:
$("#the_input").autocomplete("option", "extraParams", new_selected_value)
取自jqueryui文档:
选项
.autocomplete( "option" , optionName , [value] )
获取或设置任何自动填充选项。如果未指定任何值,则将充当吸气剂。
答案 1 :(得分:1)
您是否尝试将base参数包装在函数中:
base: function () { return $('.selected_button').prev('input').val(); }
文档似乎认为这是一种可能性。