0

私の単純な XPage には、数式項目を含むチェック ボックス グループがあります。

document1.getValue("cHumanNames") + "|" + document1.getValue("cUserID")

リストcHumanNamescUserIDは問題ないので、 を確認John Smithして送信しjohn234ます。必要に応じて。

チェックされた名前を別のリストに表示するように求められました(制御用...)userID。表示に使用する値を選択する方法が必要です。

getcomponent("checkBoxGroup1").??????

もちろん、 を使用するgetValue()と、ID のリストを取得できますが、名前が必要です。その値はどこにありますか?

4

3 に答える 3

1

チェックボックス グループ用に生成された HTML ソースを見ると、次のようなものが見つかります。

<label><input name="view:_id1:checkBoxGroup1" value="john234" type="checkbox"> John Smith</input></label>

基本的に、ラベルJohn Smithがデータ ソースに送信されることはありません。SSJS の実装を探している場合は、Sven Hasselbach の回答が機能します。クライアント側の JavaScript 実装を探している場合は、以下のコード スニペットが機能するはずです。

function getCheckedValues() {
    var checkedValues = new Array();
    dojo.query("input[name=\"#{id:checkBoxGroup1}\"]").forEach(
        function(node) {
            if (node.checked) {
                checkedValues.push(node.parentNode.innerText);
            }
        }
    );
    return checkedValues.join(", ");
}

上記のスニペットは、 name のチェックボックス グループ用に記述されていますcheckBoxGroup1

于 2013-02-27T06:01:46.943 に答える
1

この XSnippet を変更して、エイリアス値のラベルを検索できます。

http://openntf.org/XSnippets.nsf/snippet.xsp?id=get-selectable-values-of-a-component

または、変数のインデックスを使用して、(ドキュメントに保存されている) 値の正しいラベルを見つけることができます。

于 2013-02-26T21:25:47.137 に答える
0

サーバー側では、表示値を取得する簡単な方法はありません。選択された値はエイリアスとしてのみ保持され、残りはおそらくレンダリングのみに使用されます。抽象化の追加レイヤーを追加して、チェックボックスとリストの値を提供するマップを作成することができます。リストは単にマップを使用して、チェックされた値を表示値に変換します。

于 2013-02-26T20:05:56.457 に答える