0

ルックアップなどのために JQuery のオートコンプリートの PengoWorks バージョンを何度も実装することに成功しましたが、今は追加/編集画面で使用しようとしています。値が存在するかどうかを確認し、存在する場合はそのままにして、ユーザーがオートコンプリート リストから別の値に変更したい場合は許可します。

Documentationによると、 findValue() 関数を呼び出すことでこれを実行できるはずです-ただし、機能させることができないようです-ページをロードするたびに、入力のプリセット値が消去されます値がオートコンプリート リストの内容と一致していても、オートコンプリート。デモページのソースを見てコードを使ってみましたが、何も起こらず、Firebug にも JS エラーはありませんでした。mustMatch 設定の使用がそれに影響しているように見えることに気付きました (ただし、一致しているため、それは問題ではないと思います)。それを削除すると、入力のプリセット値が表示されますが、現在は可能性があります。ユーザーは、オートコンプリート リストにない値を入力できました。

これが私のコードです(findValue()関数はありません-誰かがそれを持っていることで混乱しないことを期待して削除しました.ドキュメントと例を読んでいる人は、私が見ていないことを見て、正しい方向に私を向けます.)うまくいけば、誰かが findValue() 関数の使用方法を教えてくれるので、プリセット値がリスト内のエントリと一致する場合、それは表示されたままになりますが、ユーザーは入力をクリアしてオートコンプリート リストから別のエントリを選択できます。

<script type="text/javascript">
    $(function(){
        $('#Entity').autocomplete("/validate/getEntities.cfm", { 
                    autofill:true,
                    minChars: 2,
                    matchSubset:true,
                    matchContains:1,
                    selectFirst:true,
                    //mustMatch:true,
                    cellSeparator:"^",
                    onItemSelect:setEntityID
            });

        function setEntityID(li){
            $('#EntityID').setValue(li.extra[0]);
        };
    });
  </script>
4

0 に答える 0