我正在使用jquery-ui自动完成来验证某些表单输入。 我有这个代码:
function addAutoComplete(beacon, url) {
$(document).ready(function(){
$('input' + beacon).autocomplete({
source: url,
minLength:3,
select: function(event, ui) {
var selectedObj = ui.item;
$(beacon+'_autocomplete_id').val(selectedObj.id);
return false;
},
change: function(event, ui){
if (ui.item == null){
$(beacon+'_autocomplete_id').val(0);
} else {
$(beacon+'_autocomplete_id').val(ui.item.id);
}
}
});
});
}
目标很简单:将数据的“id”值与隐藏字段相关联。当用户的输入不在源中时,我们输入“0”。我的问题是,当用户键入所有内容并且不点击或使用自动完成时,他可以写出一个正确的值,但不会被认可。
例如,如果您将源存储在本地数组中,我已经看到了如何避免此问题,但是有没有办法使用来自url的源来执行此操作?换句话说,是否有一个属性允许我操作JSON我从url去,而不必为源代码编写我的回调函数?
提前致谢!