1

YiiPHPフレームワークを使用します。stackoverflowで質問すると、タイトルを入力すると、「すでに回答がある可能性のある質問」というリストが表示されます。ユーザーが会社の名前を入力したときに、システムにすでにある類似の会社名を表示できるように、同様のタイプのフィールドを作成したいと思います。必ずしもstackoverflowのモデルほど洗練されている必要はありません。単純なアルファベット順の検索で十分です。

通常のオートコンプリートとは異なり、この「オートコンプリート」は実際には問題のフィールドに入力されませんが、すでに存在する可能性のあるデータをユーザーに通知するための情報ツールとして機能します。

Yii CJuiAutoCompleteウィジェットは仕事に適したツールだと思いますが、オートコンプリートを入力フィールドから分離するにはどうすればよいですか?

4

1 に答える 1

1

CJuiAutoCompleteは間違いなく適切なツールであり、提案された値を選択するときに自動入力を無効にするには、selectイベントおよびfocusイベントに対するjQueryUIオートコンプリートの動作を変更する必要があります。

selectイベントは、提案アイテムがクリックされたときにトリガーされ、イベントfocusは、提案アイテムがキーストローク(上、下矢印キー)によってナビゲートされたときにトリガーされます。

したがって、テキストフィールドを更新するデフォルトの動作を変更するには、コールバックからfalseを返すことでこれらのイベントをキャンセルできます。

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    // other options
    // additional javascript options for the autocomplete plugin
    'options'=>array(
        'select'=>'js:function( event, ui ) {
            return false;
        }',
        'focus'=>'js:function(event, ui) {
            return false;
        }'
    ),
));
于 2012-10-27T23:18:35.500 に答える