具有不稳定行为的jquery代码

时间:2014-03-09 22:36:03

标签: javascript jquery jsp jstl

在我的网络应用程序的一个页面中,我有以下代码:

<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>

基本上,此代码捕获复选框列表中的单击,并使用两个数据向服务器发送请购单:用户和授权。问题是:当我点击第一个复选框时,数据库中会写入几个授权,当我点击其他复选框时,没有任何反应。

有人可以看到此代码有任何问题吗?

1 个答案:

答案 0 :(得分:0)

好的,结束了解决我的问题后,从奥斯卡帕兹的消息中看看模板创建的代码。毕竟,我只对复选框的ID进行了一点改动,包括来自autorization的id,而不是来自用户的id。