2017-03-06 85 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