1

我需要帮助。

我有一个由 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);
    });

它工作正常,但是当我使用 ajax 生成表时:

 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 函数仅捕获对第一个复选框的单击。

有人可以帮助我。

4

1 回答 1

1

尝试将事件委托给现有对象:

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

或者,如果您使用低于 1.7 的版本,请使用“live”。

于 2012-12-27T10:14:28.803 回答