私はUIのダイアログとの完全な自動コラボレートする方法について質問があります(データは、単純な文字列配列ではありませんので、オートコンプリートを有効に入力されたテキストがありjQueryのオートコンプリートとjQuery 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");
今ダイアログが細かいですが、入力フィールドはその自己暗示の機能を失った:だから私はこのコードを使用します。
どうすればよいですか?提案リストから選択された項目に従って、入力フィールドを含むダイアログをポップアップします。ユーザーがダイアログのフィールドを塗りつぶした後、それを閉じて、自動候補フィールドに戻り、それでも自動提案機能を使用します。
$("#styleno").blur();
は、あなたが探しているイベントのような音:それはこのように動作しますが、あなたは次のことを試してみてください
こんにちは、 $( "#styleno")。blur(); IE7とFirefoxでうまく動作します。 ただし、IE8では動作しません。自動入力フィールドではフォーカスが移動しません:( IE8のうわされた問題についてご存知ですか? –
残念ながら、私は現時点ではIE8を持っていないので、それをテストすることはできませんGoogleのクイック検索で何も役に立たなかったのですが、具体的に新しい質問をして、他の誰かがアイデアを持っているかどうかを確認してください:-) –