2009-06-08 127 views
1

我有一个关于如何协作自动完成用户界面对话框问题:jQuery的自动完成和jQuery用户界面对话框

  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"); 
    

    现在对话是好的,但输入字段失去了自我暗示能力。

我该怎么办?根据建议列表中选择的项目,然后弹出一个对话框,其中包含一些输入字段。用户填写对话框中的字段后,关闭它,回到自动建议字段仍然使用自动提示功能。

回答

0

不是100%肯定它的工作原理是这样的,但你可以尝试以下操作:

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

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

+0

嗨伙计, $(“#styleno”)。blur();在IE7和Firefox中运行良好。 但是,它在IE8中不起作用。自动建议输入字段不会让它的焦点去:( 你有什么想法在IE8 weired问题? – 2009-06-10 11:58:29

+0

不幸的是,我没有IE8的,所以我不能测试它播放并且在Google上快速搜索没有任何用处,也许问一个有关具体问题的新问题,看看其他人是否有一个想法:-) – 2009-06-10 15:16:26

相关问题