2009-06-08 12 views
1

私はUIのダイアログとの完全な自動コラボレートする方法について質問があります(データは、単純な文字列配列ではありませんので、オートコンプリートを有効に入力されたテキストがありjQueryのオートコンプリートと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"); 
    

    今ダイアログが細かいですが、入力フィールドはその自己暗示の機能を失った:だから私はこのコードを使用します。

どうすればよいですか?提案リストから選択された項目に従って、入力フィールドを含むダイアログをポップアップします。ユーザーがダイアログのフィールドを塗りつぶした後、それを閉じて、自動候補フィールドに戻り、それでも自動提案機能を使用します。

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

は、あなたが探しているイベントのような音:それはこのように動作しますが、あなたは次のことを試してみてください

答えて

0

ない100%を確認してください。

+0

こんにちは、 $( "#styleno")。blur(); IE7とFirefoxでうまく動作します。 ただし、IE8では動作しません。自動入力フィールドではフォーカスが移動しません:( IE8のうわされた問題についてご存知ですか? –

+0

残念ながら、私は現時点ではIE8を持っていないので、それをテストすることはできませんGoogleのクイック検索で何も役に立たなかったのですが、具体的に新しい質問をして、他の誰かがアイデアを持っているかどうかを確認してください:-) –

関連する問題