我有一个关于如何使用UI对话框协作自动完成的问题:
有一个输入文本可以启用自动完成(数据不是简单的字符串数组,因此需要进行解析)。这项工作做得很好:
<input type="text" id="styleno" name="styleno" >
$("#styleno").autocomplete("${suggest}", {
parse:function(raw){
var parsed = [];
for (var i=0; i < raw.model.length; i++) {
var row = raw.model[i];
parsed.push({
data: row,
value: row,
result: row.styleNo
});
}
return parsed;
},
formatMatch: function(row, i, max) {
return row.styleNo;
},
formatItem: function(data, i, n, value) {
//
return data.id+data.styleNo;
}
});
当从建议列表中选择结果时,我想打开一个对话框,从解析结果中填充一些东西。所以我使用“结果”函数:
$("#styleno").result(function(data,values){
$('#itemDiv').dialog('open');
}
对话框已打开,但焦点仍保留在自动建议的输入字段(<input type="text" id="styleno" name="styleno" >
)上。所以我使用这段代码:
$("#styleno").trigger("unautocomplete");
现在对话框很好,但输入字段失去了自动提供功能。
我该怎么办?根据建议列表中的选定项目,然后弹出一个带有一些输入字段的对话框。用户填写对话框中的字段后,关闭它,返回自动建议字段仍然使用自动建议功能。
答案 0 :(得分:0)
不是100%确定它是这样的,但您可以尝试以下方法:
$("#styleno").blur();
听起来像你正在寻找的事件。