Ajax和Combox生成

时间:2012-12-27 10:10:04

标签: jquery ajax

我需要一些帮助。

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

有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

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

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

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