4

オートコンプリート コンポーネント (複数) はバックグラウンドで一部のデータにバインドされ、自動提供された結果のいずれも検索基準に適合しない場合、Enter キーを押すと、入力フィールドの入力値がリストに追加されます。

ただし、一部の結果が検索基準に適合する場合でも、必要に応じて、ユーザーが入力した値をリストに追加し、リストから値を選択しないようにコンポーネントを許可する必要があります。

私たちが達成しようとしている機能は、実際には電子メール受信者を電子メールに追加するのと非常によく似ています。「宛先」フィールドのオートコンプリート (複数) は、ユーザーの連絡先にバインドされています。ただし、その事実にもかかわらず、ユーザーは新しい電子メールを作成するときに新しい電子メール アドレスを追加できます。

Enterキーを押すか、「;」を追加するときに、追加される実際の入力値を受け入れるようにオートコンプリートコンポーネントを作成するにはどうすればよいですか 入力の最後に?

「forceselection=false」を設定しても機能しないようです。私たちはprimefaces 3.5を使用しています。

ありがとう、ウロス

4

1 に答える 1

1

次のオートコンプリートの completeMethod を検討してください

public List<String> completeEmailIds(String keyword) {
    List<String> emailsIds = new ArrayList<String>();
    List<String> availableEmailIds = aMethodThatReturnsAvailableEmailIdsBasedOnKeyword(String keyword);
    if(!(availableEmailIds.isEmpty())){
        emailIds.addAll(availableEmailIds);         
    }else{
        emailIds.add(keyword); // if availableEmailIds returns empty, then new typed email will also be added.
    }
    return emailIds;
}

このようにして、オートコンプリート アイテムが作成され、返されます。複数の値のオートコンプリート コンポーネントで使用できます。お役に立てれば

于 2013-06-07T17:14:33.570 に答える