将用户类型输入与jquery自动完成匹配

时间:2011-04-27 06:30:57

标签: javascript jquery jquery-ui-autocomplete

我正在使用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去,而不必为源代码编写我的回调函数?

提前致谢!

1 个答案:

答案 0 :(得分:1)

找到一个解决方案:使用ScottGonzález精彩autoSelect option。效果很好,非常好。