2017-03-06 80 views
0

我尝试在JQuery中显示我的树枝表的元素数量,但结果显示为0,而我有2个结果。Count JQuery值树枝

我的枝条

<tr class="info"> 
               <td> 
                {{ r.residence[key].name }}<br/> 
               </td> 
               <td id="name-count-resid">{{ r.name }}</td> 
               <td>{{ r.prenom }}</td> 
               <td>{{ r.email }}</td> 
               <td>{{ r.tel }}</td> 
               <td>{{ r.port }}</td> 
               <td> 
                {% for key in r.groups|keys %} 
                 {{ r.groups[key].name }}<br/> 
                {% endfor %} 
               </td> 
              </tr> 

我的脚本

<script> 
    $(document).ready(function() { 
     var n = 0; 
     $('name-count-resid').each(function() { 
      var name = $(this); 
      var count = name.closest('tr').find('name-count-resid'); 
      n += (name.html() * count.val()); 
     }); 
     alert(n); 
     $('#nb-member-selected').append("Nbr: " + n); 
    }); 
</script> 

谢谢。

+1

ID的必须是唯一的,切换到类 – DarkBee

+0

结果“NaN”类 – Christopher

回答

1

甚至不知道你用这段代码试图做什么。如果r是集合或数组的元素registrants您可以通过在树枝做到这一点:

<table> 
    {% for r in registrants %} 
    <tr class="info"> 
     <td> 
      {{ r.residence[key].name }}<br/> 
     </td> 
     <td class="name-count-resid">{{ r.name }}</td> 
     <td>{{ r.prenom }}</td> 
     <td>{{ r.email }}</td> 
     <td>{{ r.tel }}</td> 
     <td>{{ r.port }}</td> 
     <td> 
      {% for key in r.groups|keys %} 
       {{ r.groups[key].name }}<br/> 
      {% endfor %} 
     </td> 
    </tr> 
    {% endfor %} 
    <tr class="total"> 
     <td colspan="7">{{ registrants | length }}</td> 
    </tr> 
</table> 

,或者如果你真的想使用jquery你就必须做到这一点

$(function() { 
 
    $('.total td').html($('.name-count-resid').length); 
 
});
table td { 
 
    border : 1px solid #A2A2A2; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table> 
 
\t {% for r in registrants %} 
 
\t <tr class="info"> 
 
\t \t <td> 
 
\t \t \t {{ r.residence[key].name }}<br/> 
 
\t \t </td> 
 
\t \t <td class="name-count-resid">{{ r.name }}</td> 
 
\t \t <td>{{ r.prenom }}</td> 
 
\t \t <td>{{ r.email }}</td> 
 
\t \t <td>{{ r.tel }}</td> 
 
\t \t <td>{{ r.port }}</td> 
 
\t \t <td> 
 
\t \t \t {% for key in r.groups|keys %} 
 
\t \t \t \t {{ r.groups[key].name }}<br/> 
 
\t \t \t {% endfor %} 
 
\t \t </td> 
 
\t </tr> 
 
\t {% endfor %} 
 
\t <tr class="total"> 
 
\t \t <td colspan="7">0</td> 
 
\t </tr> 
 
</table>

+0

这个解决方案的工作。谢谢 :) – Christopher

0

您必须使用#通过它来找到的ID

var count = name.closest('tr').find('#name-count-resid'); 

您必须使用 “#” 的标识, “”对于类和没有,对于元素(如,tr,a,body,p,strong,table等)。

+0

同样的结果,我不得不尝试:) – Christopher