$("#textjawatan" + noid).autocomplete({
source: function( request, response ) {
$.ajax({
url: "pendaftar_table.php",
dataType: "json",
data: { term : "pe" } ,
success: function( data ) {
response( data );
}
});
},
minLength: 2,
select: function(event, ui) {
$("input#jawatan" + noid).val(ui.item.no);
}
});
当我使用
时数据:{term:“pe”}
它的工作,但当我使用
数据:{term:“pe”,id:“jawatan”}
它不起作用,有什么问题?
答案 0 :(得分:0)
不久前我确实遇到过这个问题。让我用简短的话来解释。
由于jQuery Autocomplete在他们的网站http://api.jqueryui.com/autocomplete/中解释,jQuery自动填充仅接受TERM作为服务器的输出。让我引用页面
功能:第三种变体,即回调,提供最多 灵活性,可用于连接任何数据源 自动完成。回调有两个参数:一个请求对象,带有 单个术语属性,指的是当前的值 文字输入。例如,如果用户在城市字段中输入“new yo”, 自动完成术语将等于“new yo”。响应回调,哪个 需要一个参数:向用户建议的数据。这个数据 应该根据提供的术语进行过滤,并且可以是任何一个 上面描述的简单本地数据格式。这很重要 提供自定义源回调以处理错误 请求。即使您,也必须始终调用响应回调 遇到错误。这可确保窗口小部件始终具有 正确的状态。
换句话说,如果你甚至在json dict中添加250个额外的哈希值,它只能在TERM到服务器端。
我是如何解决这个问题的?
我做的是这个。基于jQuery文档,源也可以是ARRAY,所以我在设置jQuery自动完成之前对我的服务器进行了ajax调用,然后提供自动完成插件。
注意:这不是一个非常好的解决方案,我知道它。但由于我的工作细节,我不得不这样做,而且只是一个选择。