jQuery-UI自动完成不显示选项

时间:2011-03-23 20:21:05

标签: jquery-ui autocomplete

我有一个jQuery-UI自动完成功能,在加载它所应用的表单之前加载。

$('#groupset').autocomplete({
    source: 'ajax/php/leeruns.php',
    minlength: 2,
    select: function(event, ui) {
        if(ui.item.groupset_id){
            $('#groupsetdesc').val(ui.item.description);
            if(groups.loaded!=ui.item.groupset_id)groups.load(ui.item.groupset_id);
        } else {
            $('#groupsetdesc').val('');
        }
    }
});

相关的html是:

<div><label for='groupset'>Groupset Name</label>
    <input name='filename' id='groupset' type='text' value='' ></div>
<div><label for='groupsetdesc'>Groupset Description</label>
    <input name='groupsetdesc' id='groupsetdesc' type='text' value=''></div>

如果我在输入框中输入“gr”,Firebug会告诉我返回了这个JSON:

[{"value":"Group_by_Column",
  "groupset_id":"1",
  "description":"12 groups, each of 8 wells from one column",
  "create_date":"2010-02-24 13:27:26"},
 {"value":"Group_by_Row",
  "groupset_id":"2",
  "description":"8 groups of 12 wells, each from 1 row",
  "create_date":"2010-06-02 14:36:33"}
]

我希望看到一个虚假的下拉列表,包括自动完成功能返回的条目。但没有选择出现。这可以在IE8和FF4中复制。知道我错过了什么吗?

jQuery v1.5.1 jQuery-UI 1.8.11

1 个答案:

答案 0 :(得分:2)

这是一个要解决的野兽,因为问题根本不在于自动完成代码。在同一页面上,我还加载了jQuery validate plugin。版本1.7的验证与自动完成有某种不兼容性。将验证升级到v1.8后,自动完成功能再次起作用。

我希望这有助于其他人。