jquery自动完成和jQuery UI对话

时间:2009-06-08 14:04:50

标签: jquery

我有一个关于如何使用UI对话框协作自动完成的问题:

  1. 有一个输入文本可以启用自动完成(数据不是简单的字符串数组,因此需要进行解析)。这项工作做得很好:

    <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;
                    }
            });
    
  2. 当从建议列表中选择结果时,我想打开一个对话框,从解析结果中填充一些东西。所以我使用“结果”函数:

    $("#styleno").result(function(data,values){
            $('#itemDiv').dialog('open');
    }
    

    对话框已打开,但焦点仍保留在自动建议的输入字段(<input type="text" id="styleno" name="styleno" >)上。所以我使用这段代码:

    $("#styleno").trigger("unautocomplete");
    

    现在对话框很好,但输入字段失去了自动提供功能。

  3. 我该怎么办?根据建议列表中的选定项目,然后弹出一个带有一些输入字段的对话框。用户填写对话框中的字段后,关闭它,返回自动建议字段仍然使用自动建议功能。

1 个答案:

答案 0 :(得分:0)

不是100%确定它是这样的,但您可以尝试以下方法:

$("#styleno").blur();

听起来像你正在寻找的事件。