0

すべてのチェックボックスまたはボタンを選択できるようにしたいので、他のすべてのチェックボックスの値をチェックするように設定します。jspでこれを達成する方法はありますか? 私は次のようなことを考えていました:

<c:if test="${!empty param.selectall}">
    //set all others to checked
</c:if>

すでに使用しているので、条件が機能することはわかっていますが、ifステートメント内でチェックボックスをチェックするように設定するにはどうすればよいですか。

4

1 に答える 1

2

JSP が単なる HTML コード ジェネレーターであるという事実を見逃しているようです。

checkedHTML では、チェックされたチェックボックスは属性の存在によって表されます。

<input type="checkbox" ... checked="checked" />

JSP で行う必要があるのは、目的の HTML 出力を正確に生成することだけです。

<c:if test="${not empty param.selectall}">
    <input type="checkbox" ... checked="checked" />
    <input type="checkbox" ... checked="checked" />
    <input type="checkbox" ... checked="checked" />
    ...
</c:if>

または、チェック状態と非チェック状態の HTML 全体を複製したくないが、目的の属性のみを生成したい場合:

<input type="checkbox" ... ${not empty param.selectall ? 'checked="checked"' : ''} />
<input type="checkbox" ... ${not empty param.selectall ? 'checked="checked"' : ''} />
<input type="checkbox" ... ${not empty param.selectall ? 'checked="checked"' : ''} />
...

または、実際にコレクションに値があり、それを反復して使用でき<c:forEach>、単一の値ごとにすべての HTML 入力要素を複製したくない場合は、次のようにします。

<c:forEach items="${bean.availableItems}" var="availableItem">
    <input type="checkbox" ... value="${availableItem}" ${not empty param.selectall ? 'checked="checked"' : ''} />
</c:forEach>

エンドユーザーが JS を無効にしている場合に失敗するような不器用な JS ハック/回避策は必要ありません。

于 2013-09-30T13:40:16.013 に答える