自动完成问题(jquery)

时间:2011-07-19 08:01:12

标签: jquery-ui jquery-plugins jquery autocomplete

我遇到自动填充问题。下面的代码是返回给我的 [ “foo@foo.com”, “bar@bar.com”]

   $('.autocomplete').keyup(function() {
    tid = $(this).attr('id')
    $(this).autocomplete({
        source: function (req, resp){           
            $.ajax(
            {
                url: "autocompl.asp", 
                data:$("#msgForm").serialize() + "&field="+tid ,
                    success : function( resp ) {    
                        return resp     
                    }
            })
        }

    });
  });

但建议没有出现。当我在没有任何额外参数的情况下调用自动完成时,它对我有用。 任何线索?

提前致谢

Magda

1 个答案:

答案 0 :(得分:0)

请注意,源函数的一个参数是resp,之后您正在使用另一个resp。我想你需要使用第一个resp来发回响应对象。

我也正在使用它,这对我有用(而不是发送一个值数组,我发送一个带有两个属性的对象数组,但我不认为它是强制性的。)

  1. ID
  2. 标签
  3. 所以ajax成功中的代码看起来应该是这样的(我的数据变量是你的第二个resp变量,另一个名称是为了避免混淆):

    success: function(data) {
        for (i in data) {
            a = {}
            a.id = data[i]
            a.label = data[i]
            options.push(a)
        }
        resp(options)
    }