javascript/jquery для подсчета количества отмеченных флажков в текущей строке

У меня есть следующая строка таблицы:

<table class="authors-list">
      <tr>
         <td style="font-size:10px;"><a class="deleteRow"> <img src="delete2.png" /></a></td>
         <td ><input type="text" id="product1" name="product1" class="rounded"/></td>
         <td ><input type="text" size='5' id="qty1" name="qty1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h09_1" name="h09_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h12_1" name="h12_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h15_1" name="h15_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h18_1" name="h18_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h21_1" name="h21_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h24_1" name="h24_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h27_1" name="h27_1" class="rounded"/></td> 
         <td class="tdcheckbox"><input type="checkbox"  id="h30_1" name="h30_1" class="rounded"/></td> 
         <td><input type="hidden" name="checkedsizes_1" id="checkedsizes_1" value="0"></td>
      </tr>
</table>

Что я хочу сделать, так это подсчитать количество отмеченных флажков в каждой строке. имейте в виду, что я могу иметь динамическое количество строк. Это не обязательно должно быть в режиме реального времени, непосредственно перед отправкой в ​​скрытом поле checkedsizes_1 необходимо установить количество отмеченных флажков для этой строки.

может быть 5 строк, поэтому необходимо пройтись по каждой строке таблицы (1,2,3...) и подсчитать отмеченные флажки, а затем заполнить соответствующий ввод checkedsizes_X результатом.

поэтому моя отправка:

<INPUT TYPE="button" VALUE="Continue" onClick="submitFunction()">

и вызываемая функция:

<SCRIPT>
function submitFunction() {
   document.sales_order_details.action="/sales/new_autospread_range";
</SCRIPT>

Итак, я предполагаю что-то вроде:

<SCRIPT>

function submitFunction() {
   countcheckboxperrow();
   document.sales_order_details.action="/sales/new_autospread_range";
</SCRIPT>

    <script>
        countcheckboxperrow(){;
        var checkboxes=0;
        //foreach table row in table class="authors-list" count the checkedcheckboxes starting with h. [id^="h"] h being field name first letter      
        //set the corresponsing input in that field row that starts with 
        //repeat for next row id^="checkedsizes"]       
    </script>

Заранее спасибо за помощь и дайте мне знать, если мне нужно уточнить. в общем, нужен сценарий, который подсчитывает количество отмеченных флажков в этой строке и заполняет скрытое поле f этим значением.

Спасибо еще раз.

FIDDLE http://jsfiddle.net/emL6x/2/


person Smudger    schedule 22.04.2013    source источник


Ответы (1)


Я не тестировал, но что-то вроде этого с jQuery должно сделать это

countChecks(){
     $('.author-list tr').each(function(){
         var count = 0;
         var hdn = $(this).find('input[name^="checkedsizes"]');
         count = $(this).find(':checkbox:checked').length;
         hdn.val(count);
     });
}
person Mark Walters    schedule 22.04.2013
comment
Спасибо, Марк, не могли бы вы просмотреть мою скрипку, jsfiddle.net/emL6x/6, я просто застрял, не могу даже понять основы прямо здесь :-) Еще раз спасибо. - person Smudger; 22.04.2013
comment
@Smudger похоже, что у вас были некоторые проблемы с синтаксисом и т. д., у меня это все еще не работает, но у меня есть проблемы с jsFiddle на моей машине - посмотрите здесь - jsfiddle.net/emL6x/25 - person Mark Walters; 22.04.2013
comment
Спасибо, Марк. классно спасибо за помощь. все отсортировано. :-) - person Smudger; 22.04.2013