2012-12-27 40 views
1

我需要一些幫助。Ajax和Combox生成

我有一個表由displaytag創建:

<div id="contentAccionFormativa" class="displayAF">   
        <display:table id="displayAF" name="${accionesFormativasList}"                
            htmlId="justifAfList" 
            class="displayTagTable" 
            uid="accionFormativa">  
         <display:column titleKey="asociarJustificante.display.af.header.checkbox"          
             class="tdBorderFirst center" 
             headerClass="firstTh" 
             style="width: 2px;" >       
          <form:checkbox id="checkAf" path="listaIdAccionesFormativas" value="${accionFormativa.idAfExteInteIdConv}"/> 
         </display:column> 
         <display:column titleKey="asociarJustificante.display.af.header.descripcion" class="lastTh center" > 
          ${accionFormativa.codAF} 
         </display:column> 

         <display:footer> 
          <tr><td colspan="2" class="firstTh lastTh right"></td></tr> 
         </display:footer> 
        </display:table> 
       </div> 

我試圖讓與計數複選框:

jQ('#justifAfList :checkbox').click(function() { 
     alert(jQ("input:checked").length); 
    }); 

It's工作正常,但是當我生成的表與阿賈克斯:

jQ.each(data.ajaxResult.accionesFormativas, function(i,value){ 
        firstTd = "<td class='tdBorderFirst center' style='width: 2px;'><input id='checkAf' type='checkbox' value=" +value.idAfExteInteIdConv+ " name='listaIdAccionesFormativas'><input type='hidden' value='on' name='_listaIdAccionesFormativas'></td>"; 
        jQ('#justifAfList > tbody:last').append("<tr class='odd'>" + firstTd + "<td class='lastTh center'>" + value.codAF +"</td></tr>"); 
       }); 

jquery函數只捕獲第一個複選框的點擊。

有人可以幫助我。

回答

1

嘗試將事件委託給現有的對象:

jQ('#justifAfList').on('click','input:checked',function() { 
    alert(jQ("input:checked").length); 
}); 

或者,如果你比1.7更低版本的工作,用「活」。

+0

非常感謝。這工作完美。 – user1821460