使用jQuery UI 1.8和jQuery 1.4.2
,下面的代码可以正常工作$("#sid_entry_box").autocomplete({
source:"autocomplete_sid.php?database="+database_name,
minLength:4,
delay:1000,
enable:true,
cacheLength:1
});
数据库名称作为php调用的get参数传递。
在此应用程序中,通过单选按钮选择了两个数据库。 由于jQuery在加载文档时加载并分配此函数,因此数据库名称是在该momemnt处检查的内容。
我真正需要传递给php调用的内容如下:
database=$("input[name=rf_database_option]:checked").val();
是否有一种易于理解的方式可以传递动态dom值?
答案 0 :(得分:1)
这样的事情?
function changeDB(database_name) {
$('#sid_entry_box').autocomplete('option', 'source', "autocomplete_sid.php?database="+database_name);
}
答案 1 :(得分:1)
更改单选按钮后,您可以更改自动完成源:
var database_name = ...;
$("#sid_entry_box").setOptions({
source:"autocomplete_sid.php?database="+database_name
});
您可以在this page上查看setOptions
的示例(查看来源)。
答案 2 :(得分:0)
Puaka的解决方案有效。谢谢!
但是,在我看来,在自动完成中应该有一种方法可以读取任何DOM值,然后将该参数传递给自动完成,然后将其传递给php get例程。
想象一下,如果需要从DOM中获取10个不同的参数。进入并修改10个回调函数,每个都向自动完成功能添加一个选项,这是一个挑战。
希望jQuery的未来文档能够显示更多使用各种自动完成选项的示例。