2009-06-08 100 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

相關問題