0

モデル内のオブジェクトのリストを調べたときに、form:hidden タグに無効な属性を動的に追加したいと考えています。私が持っているコード(動作しません)は、次のようになります。

<c:forEach items="${myModel.myList}" var="obj">
        <div id="${obj.id}" onclick="selectObject(this);"><span>${obj.name}</span></div>
        <form:hidden path="myModel.selectedObj" />
</c:forEach>

彼のIDがselectedObjと等しいリスト内のobjの非表示の入力を無効にしないようにし、他のすべての非表示の入力を無効にしたい。これは私が試したものです:

<form:hidden path="myModel.selectedObj" <c:out value="${obj.id != myModel.selectedObj.id ? "disabled=\"disabled\"" : ""}"></c:out> />

私が言ったように、これはうまくいきませんでした。何かご意見は?

4

1 に答える 1

0

このコードを試してください:

<c:forEach items="${myModel.myList}" var="obj">
    <div id="${obj.id}" onclick="selectObject(this);"><span>${obj.name}</span></div>
    <c:if test="${obj.id eq myModel.selectedObj.id}">
        <form:hidden path="myModel.selectedObj" />
    </c:if>
    <c:if test="${obj.id ne myModel.selectedObj.id}">
         <form:hidden path="myModel.selectedObj" disabled="disabled" />
    </c:if>
</c:forEach>

<c:choose />または、<c:when /><c:otherwise />タグを使用できます。

<c:forEach items="${myModel.myList}" var="obj">
    <div id="${obj.id}" onclick="selectObject(this);"><span>${obj.name}</span></div>
    <c:choose>
        <c:when test="${obj.id eq myModel.selectedObj.id}">
            <form:hidden path="myModel.selectedObj" />
        </c:when>
        <c:otherwise>
            <form:hidden path="myModel.selectedObj" disabled="disabled" />
        </otherwise>
    </c:choose>
</c:foreach>
于 2012-10-14T15:04:26.603 に答える