我想做一个ajax 的效果,现在有一个列表,<c:if test="${!empty pm}">
    <c:forEach items="${pm}" var="permissions" varStatus="vs">        <tr id="" class="sep${vs.index%2==0?1:2}">
    <td style="text-align: center">
        <input type="checkbox"  onclick="myAuthorized();" id="perId" name="permissions.per_id" value="${permissions.per_id}"/>
      </td>
     <td style="text-align: center">${vs.count }</td>
   <td>${permissions.per_name}</td>
   <td style="text-align: center">${permissions.per_description}</td>
      </tr>
      
</c:forEach>
 </c:if>所以他们的id 和 name 是相同的,我想当点击某一个复选框时把相应的id传到后台。

解决方案 »

  1.   

    SF,随便找个AJAX教程就行,只要在myAuthorized()中判断是否勾选中
      

  2.   

    ajax我也会,只是他的id和name都相同需要找到事件源来处理! var myAuthorized =function(e){
        var butVal =$(e.srcElement).attr("id");
        alert(butVal);
        var content="permissions.per_id="+ per_id +"role.ro_id="+${role.ro_id};   //  sendAjaxRequest("actions/roleAction!authorized=?xx="+Math.random(),content,myBack);
     
     };
     function myBack(){
     
      if(xhr.readyState==4){
         if(xhr.status==200){
         //  document.getElementById("msg").innerHTML=xhr.responseText;
           //
         }
      }
     };
    不可以
      

  3.   


    //以name获取
    var ary=document.getElementsByName("aa");
    for(var i=0;i<ary.length;i++){
       if(){
          //-------------------
        }
    }
    //以id获取的话
     <input type="checkbox"  onclick="myAuthorized();" id="${aaa.id}" value="${permissions.per_id}"/>
      

  4.   

    或者研究一下jquery强大的选择器功能
      

  5.   

    myAuthorized();把ID当参数传进去多好  
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
    <title>Insert title here</title>
    <script type="text/javascript">
    function onServerClick(e) {
    var event = e || window.event;
    var target = event.target || event.srcElement;
    alert(target.value);
    }</script>
    </head>
    <body>
    <div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="1"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="2"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="3"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="4"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="5"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="6"/></div>
    <div><input type="checkbox" onclick="onServerClick(event);" value="7"/></div>
    </div>
    </body>
    </html>事件源的取法,配合你的ajax处理就能实现。
      

  7.   

    得到多有的复选框里面的Value,然后用JS拼成一个"a=x&a=x&a=x"这样的格式,然后传到服务器,服务器用getParameterNames("a"),得到ID数组,然后进行处理就行了!