1

私は次のものを持っていますh:selectOneRadio

<h:selectOneRadio id="#{prefix}_rating" value="#{examinationPanel.tempResult}" >
<f:selectItems value="#{examinationPanel.options}"></f:selectItems>
</h:selectOneRadio>

そして、バッキングBeanは、いくつかのユーザー設定に基づいてオプションをロードしています。

public List<SelectItem> loadOptions (Set<ResultEnum> possibleResults){
    List<SelectItem> options = new ArrayList<SelectItem>();
    for(ResultEnum result:possibleResults){
        SelectItem option = new SelectItem(result,messages.getString(result.name()));
        options.add(option);
    }
    return options;
}

無線グループのオプションのショートカットを定義するにはどうすればよいですか?たとえば、「1」と入力すると最初のオプションが選択され、「2」と入力すると2番目のオプションが選択されます。

前もって感謝します!ps。Jsf 1.2、Richfaces、Primefaces、Faceletsを使用しています。

4

3 に答える 3

3

これはデフォルトでは組み込まれていません。最善の手段はJavaScriptを使用することです。keypressのイベントに関数をアタッチし、押されたキー<body>のを確認し、それに応じてドロップダウンの項目を変更します。これは、 jQueryを使用して数行で実行できます。これがSSCCEです。コピーして、貼り付けて、実行してください。keyCodeselected

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2461588</title>
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script>
            $(document).ready(function() {
                $('body').keypress(function(e) {
                    var index = parseInt(String.fromCharCode(e.keyCode));
                    if (0 < index && index < 10) {
                        $('#dropdown option').eq(index - 1).attr('selected', true);
                    }
                });
            });
        </script>
    </head>
    <body>
        <select id="dropdown">
            <option>option1</option>
            <option>option2</option>
            <option>option3</option>
            <option>option4</option>
            <option>option5</option>
            <option>option6</option>
            <option>option7</option>
            <option>option8</option>
            <option>option9</option>
        </select>
    </body>
</html>

10個以上のアイテムをサポートする場合は、押されたキーのスタックを維持し、すぐに適用して、スタックをリセットするためのタイムアウト(1秒?)を導入する必要があります。

于 2010-03-17T11:22:40.883 に答える
2

<rich:hotKey>役立つかどうかを調査できます。つまり、キーボードショートカットを定義できますが、jQueryの知識が必要になる場合があります。

于 2010-03-17T11:49:47.250 に答える
2

PrimeFaceshotKeyも役立ちます。

于 2010-03-23T10:48:00.810 に答える