我想在表单上添加disabled属性:当我浏览模型中的对象列表时,动态隐藏标签。我有的代码(不起作用)有点像这样:
<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>
我希望列表中obj的隐藏输入,即他的id等于selectedObj不被禁用,并且我希望禁用所有其他隐藏输入。这就是我的尝试:
<form:hidden path="myModel.selectedObj" <c:out value="${obj.id != myModel.selectedObj.id ? "disabled=\"disabled\"" : ""}"></c:out> />
正如我所说,这没有成功。有什么想法吗?
答案 0 :(得分: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>