我有一个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
答案 0 :(得分:2)
这是一个要解决的野兽,因为问题根本不在于自动完成代码。在同一页面上,我还加载了jQuery validate plugin。版本1.7的验证与自动完成有某种不兼容性。将验证升级到v1.8后,自动完成功能再次起作用。
我希望这有助于其他人。