問題タブ [autocomplete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 奇妙なオートコンプリート + パスワード記憶動作
Firefox と Chrome がどのフィールドがパスワード用であるかをどのように判断し、他のフォームでどのようにオートコンプリートするかを理解するのに苦労しています。
私のログインフォームには、これがあります:
このlogin_password_hash
フィールドは、Javascript を使用して送信する前にクライアント側でパスワードをハッシュするためのものです。Javascript を無効にしても結果は変わりません。
そして、新しいユーザーを作成するために、私はこのフォームを持っています:
ログインフォームからパスワードを保存し、新しいユーザーフォームにアクセスした後、保存された電子メールがパスワードフィールドの前の最後のフィールドに配置され、パスワードがパスワードフィールドに配置されます。
これは Firefox と Chrome で発生しますが、Internet Explorer では発生しません。Firefox と Chrome がこのように動作する理由について何か考えはありますか? 2 つのフォームに共通点はなく、名前と ID はすべて異なります。
apache-flex - フレックス 3 とオートコンプリート
オートコンプリートを機能させようとしていますが、mxml で配列を作成し、初期化キーワードでファイルの先頭にある arrayCollection を初期化するだけでうまくいきます。
ただし、webservice から arraycollection を設定したいのですが、取得できないようです。
私のアプリケーションタグには次のものがあります
次に、私のinitメソッドで。
//これは、userRequest.getAllCountries() から結果を取得したときに呼び出されます。
ただし、テキスト ボックスには値がありません。
アイデアのある人はいますか?
javascript - JavaScript で入力しながら項目のリストを絞り込む
ユーザーの入力に応じてアイテムのリストを絞り込むためのプラグインまたは確実な方法を見つけようとしています。
基本的に、ユーザーがスクロールできる製品名を含むリストが常に表示されます。下部には、製品の名前を入力できるフォームがあります。入力すると、リストが絞り込まれます。
jQuery UIのオートコンプリートのようなものをこのように機能させる方法を見つけようとしていますが、問題があります。
誰かが以前にこのようなものを作成したか、何かアイデアを持っていますか?
vb.net - 最近入力した値を記憶し、オートコンプリートできる ComboBox
VB.NET でデスクトップ検索エンジンを開発しています。ComboBox を使用して検索クエリ (文字列) を指定しています。ComboBox に最近のクエリを記憶させて表示させたい。また、ユーザーが入力しているときに ComboBox がクエリをオートコンプリートしようとすることも必要です。
これを実装する最良の方法は何ですか?
forms - Google スタイルのオートコンプリート チュートリアル/例
入力フィールドに入力する際に、Google スタイルのオートコンプリートの恩恵を受けるアプリがあります。
これがどのように実装されているか、または支援するために立ち寄ることができるパッケージに関する指針はありますか?
json - QueryReadStore を使用した FilteringSelect: 選択が固執しない
dijit.form.FilteringSelect
ユーザーがリージョンを選択できるようにするために、 に裏打ちされたを使用dojox.data.QueryReadStore
しています (「オートコンプリート」メカニズムを考えてください)。ユーザーが文字を入力するたびにQueryReadStore
、 はサーバーに要求を送信し、一致する領域の json リスト (関連付けられた ID を含む) を待ちます。十分に短いリストが表示されるまでに、ユーザーは目的の項目を選択します。[確かに、キーストロークごとにクエリを実行するのは最も効率的なパターンではありませんが、今のところは十分です。]
予期しない動作: まれではあるが特定の状況で、ユーザーが行った選択が「固執しない」場合があります。たとえば、ユーザーが「can
」と入力すると、次の選択肢がこの順序で表示されます。
彼女がCanada
これらの中から " " を選択した場合、dijit はドロップダウン選択を閉じ、彼女の選択を正しく選択します。しかし、ユーザーがフィールドを離れるまでに、選択は " " に切り替わりますAtlantic Canada
!
その奇妙な現象は、少数の特定の地域で体系的に発生します。(最初は、行儀の悪い地域に共通する要因は、名前にアクセント付きの文字やハイフンが含まれていることだと思っていましたが、カナダの例では明らかにそうではありませんでした。これまでのところ、規則的なパターンを見つけることができませんでした。)
同様の問題についての言及はどこにも見つかりませんでした。私は喜んで調査しますが、私は道場に慣れていないので、道場のコードの内部を詳しく調べる前に、ポインタをいただければ幸いです。最初にどこを見ればよいでしょうか? その動作を引き起こす可能性のある問題は何ですか? 特定の仮説を除外できますか? この問題を解決するには、コンソール (または Firebug) をどのように使用すればよいですか? 等
この問題は、dojo 1.1.1 と dojo 1.2.3 の両方で発生します。
の(プログラムによる)生成は次のFilteringSelect
とおりです。
編集 (2009/02/18): 追加の詳細
ダメリンの答えに続いて、私FilteringSelect
はこの状況をどう見たのか理解したいと思いました。ロギング関数をFilteringSelect
のイベントonChange
とに接続するとonBlur
、次のプレイバイプレイ シーケンスが得られます。
- フィールドをクリックして、次のように入力します。
can
- 6 つのリージョン (上記) のドロップダウン リストが表示されます。
- キーボード カーソルを使用して、リストを下の "
Canada
" (ID 1 の領域)に移動します。 を押します
/li>Enter
(したがって、ストアのアイテムを選択します)。ドロップダウン リストが消えて、テキスト "Canada
" がフィールドに表示されます。この時点で、最初のイベントが発生し、次のログが記録されます。を押してフィールドを離れ
/li>tab
ます。ここでは、次の順序で 2 つのイベントが次々に発生します。
(リージョン 246 はAtlantic Canada
です。) これは非常に興味深いことです... フィールド (onBlur) を離れるまでに、Canada
まだ選択された値です。謎の入れ替わりはその後…
autocomplete - Notepad++ とコード補完
notepad ++でコード補完を改善する方法はありますか?
現在、ある種の「静的」コード補完をサポートしており、命令のリストとそれらのパラメーターを xml ファイルに作成するか、開いているドキュメントの単語のリストで動作する必要があります。*.h ファイルを読み取ってそのリストを自動的に作成し、現在のファイルの変数と関数を使用できるものを探しています。
java - Swing を使用してオートコンプリートを実装するにはどうすればよいですか?
JFrame でオートコンプリート ボックスを提供することに興味があります。トリガーメカニズムはニーモニックに基づいていると思いますが(私はそう思います)、「オートコンプリートボックス」に何を使用すればよいかよくわかりません(ユーザーがキーを押すと結果がフィルタリングされるようにしたいと思います)。
これをどのように実装しますか?ある種の JFrame、または JPopupMenu ですか?
これがどのように実装されているか知りたいので、利用可能な [J]Components へのリンクを投稿しないでください。
c# - オートコンプリートと新しい入力の防止-コンボボックス
プログラムのユーザーが値を入力してオートコンプリートできるようにするにはどうすればよいですか。ただし、データが見つからなくなる可能性があるため、ユーザーが新しいデータを入力できないようにする方法もあります(データベース)。
誰かがこれを行う方法を知っていますか?
ドロップダウンスタイルのコンボボックスだけを使用しない理由は、データを入力して入力し、リストのオプションに含まれていない文字を拒否するのは、ユーザーにとって使いやすいためです。
Quickbookのタイマーを使用したことがある場合は、それが私が目指しているコンボボックスのスタイルです。
c# - C# コンボボックスまたはテキストボックスのオートコンプリート エントリを動的に変更するにはどうすればよいですか?
C# にコンボボックスがあり、オートコンプリートの提案を使用したいのですが、有効なエントリが多すぎてAutoCompleteStringCollection
起動時に入力できないため、ユーザーの入力に応じてオートコンプリートのエントリを変更できるようにしたいと考えています。
例として、ユーザーに名前を入力させているとします。可能な名のリスト ("Joe"、"John") と姓のリスト ("Bloggs"、"Smith") がありますが、それぞれが 1000 個ある場合、可能な文字列は 100 万個になりますオートコンプリート エントリに入れるには多すぎます。したがって、最初は最初の名前だけを提案として ("Joe", "John") たいと思います。次に、ユーザーが最初の名前 ("Joe") を入力したら、既存のオートコンプリート エントリを削除して置き換えます。選択された名前とそれに続く可能な姓 ("Joe Bloggs"、"Joe Smith") で構成される新しいセットを使用してそれらを作成します。これを行うために、次のコードを試しました。
ただし、これは正しく機能しません。Clear() を呼び出すと、コンボ ボックスに次の文字が表示されるまでオート コンプリート メカニズムが「オフ」になるようですが、もちろん、次の文字が表示されると、上記のコードは Clear() を再度呼び出すため、ユーザーは決して実際にオートコンプリート機能が表示されます。また、コンボ ボックスの内容全体が選択されるため、キーを押すたびに既存のテキストを選択解除する必要があり、使用できなくなります。Clear() の呼び出しを削除すると、オートコンプリートは機能しAddRange()
ますが、追加した新しい提案がオートコンプリートのドロップダウンに表示されないため、呼び出しは効果がないようです。
これに対する解決策を探していて、さまざまな提案がありましたが、どれも機能しません。オートコンプリート機能が無効になっているように見えるか、新しい文字列が表示されません。ここに私が試したことのリストがあります:
BeginUpdate()
弦交換前と交換後の呼び出しEndUpdate()
。Remove()
Clear() の代わりにすべての既存の文字列を呼び出します。- 文字列の更新中にコンボボックスからテキストをクリアし、後で追加し直します。
- 文字列を変更している間は「なし」に設定
AutoCompleteMode
し、後で「SuggestAppend」に戻します。 TextUpdate
の代わりにまたはKeyPress
イベントをフックしTextChanged
ます。- 毎回
AutoCompleteCustomSource
新しいものと既存のものを交換します。AutoCompleteStringCollection
さまざまな組み合わせであっても、これらのどれも役に立ちませんでした。 SpenceComboBox
は、オートコンプリートで使用する文字列のリストを取得する関数をオーバーライドしてみることを提案しました。リフレクターを使用して、ComboBox
有望に見えるクラスGetStringsForAutoComplete()
内のいくつかのメソッドを見つけましたSetAutoComplete()
が、それらは両方ともプライベートであるため、派生クラスからアクセスできません。私はそれ以上取ることができませんでした。
ComboBox
オートコンプリート インターフェースは同じなので、をに置き換えてTextBox
みましたが、動作が少し異なることがわかりました。を使用するTextBox
と、オートコンプリートの追加部分が適切に機能するように見えますが、提案部分は機能しません。提案ボックスは一時的に点滅しますが、すぐに消えます。
そこで、「さて、サジェスト機能なしで生きて、代わりに追加を使用する」と思ったのですが、AutoCompleteMode
追加に設定すると、アクセス違反の例外が発生します。SuggestAppend
サジェストでも同じことが起こります。サジェスト部分が正しく動作しなくても、例外をスローしない唯一のモードはです。
C# マネージ コードを使用する場合、アクセス違反の例外を取得することは不可能であると考えられていました。 Avramは、これを修正するために「ロック」を使用することを提案しましたが、何をロックすればよいかわかりAutoCompleteStringCollection
ません。ComboBox
またはもロックしようとしましTextBox
たが、どちらも役に立ちませんでした。私が理解しているように、ロックは他のロックを防ぐだけなので、基になるコードがロックを使用していない場合、ロックを使用しても違いはありません。
このすべての結果は、現在、ダイナミックオートコンプリートでaTextBox
または aを使用できないことです。ComboBox
どうすればこれを達成できるかについての洞察を持っている人はいますか?
アップデート:
私はまだこれを機能させていませんが、さらにいくつか発見しました。たぶん、これのいくつかは、他の誰かが解決策を考え出すきっかけになるでしょう.
ComboBox
オートコンプリート インターフェースは同じなので、をに置き換えてTextBox
みましたが、動作が少し異なることがわかりました。を使用するTextBox
と、オートコンプリートの追加部分が適切に機能するように見えますが、提案部分は機能しません。提案ボックスは一時的に点滅しますが、すぐに消えます。
そこで、「さて、サジェスト機能を使わずに Append を使用することにしよう」と考えましたが、AutoCompleteMode
Append に設定すると、アクセス違反の例外が発生します。SuggestAppend
サジェストでも同じことが起こります。サジェスト部分が正しく動作しなくても、例外をスローしない唯一のモードはです。
C# マネージ コードを使用する場合、アクセス違反の例外を取得することは不可能であると考えられていましたが、いずれにせよ、現在、動的オート コンプリートでaTextBox
または aを使用することはできません。ComboBox
どうすればこれを達成できるかについての洞察を持っている人はいますか?
更新 2:
ワーカー スレッドでオートコンプリートを変更したり、PostMessage() 型の動作をシミュレートするために使用したりするなど、さまざまなことを試した後、BeginInvoke()
最終的にあきらめて、リスト ボックスを使用して独自のオート コンプリート ドロップダウンを実装しました。組み込みのものよりもはるかに応答性が高く、組み込みのものを機能させるために費やした時間よりも少ない時間でした。自分で実装します。