自动完成和jquery选择器在运行时更改

时间:2011-05-23 17:01:22

标签: jquery autocomplete selector

请查看以下自动填充代码。

   $(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”类,并将其添加到用户单击的按钮。

我想用它来更改用于自动完成查找的基本文件夹。

问题是自动完成总是使用最初设置的路径,无论我点击什么按钮。 所以我认为自动完成功能无法识别我在运行时所做的类更改。

2 个答案:

答案 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(); }

文档似乎认为这是一种可能性。

相关问题