【发布时间】:2014-03-09 22:36:03
【问题描述】:
在我的网络应用程序的一个页面中,我有以下代码:
<c:forEach var="user" items="${usuarios}">
<c:forEach var="auth" items="${autorizacoes}">
<script>
$("#cb_001_${user.id}").click(function(){
$.ajax({
url: "cad_autorizacao.html",
data: { usuario: "${user.id}", autorizacao: "${auth.nome}" },
cache: false
}).done(function(data) {
$("#result_2").show();
$("#result_2").empty().append( data );
$("#result_2").hide(3000);
});
});
</script>
</c:forEach>
</c:forEach>
作用于这段 html 代码:
<div class="row autorizacoes" id="row_001_${item.id}">
<table class="bordered">
<tr>
<c:forEach var="item_auth" items="${autorizacoes}">
<c:set var="isChecked" value="${false}"/>
<c:forEach var="user_auth" items="${item.autorizacoes}">
<c:if test="${user_auth.nome == item_auth.nome}"> <!-- here compare according ID or any unique attribute -->
<c:set var="isChecked" value="${true}"/>
</c:if>
</c:forEach>
<td>
<input type="checkbox" name="${item_auth.nome}" <c:if test="${isChecked}">checked="checked"</c:if> id="cb_001_${item.id}"/>${item_auth.nome}
</td>
</c:forEach>
</tr>
</table>
</div>
基本上,此代码捕获复选框列表中的点击,并向服务器发送包含两个数据的申请:用户和授权。问题是:当我点击第一个复选框时,数据库中写入了几个授权,当我点击其他复选框时,没有任何反应。
有人能看出这段代码有什么问题吗?
【问题讨论】:
-
你能发布模板创建的javascript和HTML代码,而不是模板代码吗?这会有所帮助。
-
这是在 JSP 中吗?也可能有助于使用该标签
标签: javascript jquery jsp jstl