2011-05-03 8 views
0

선택한 값의 합계를 만들어야하지만 jquery 비트에 약간의 문제가 있습니다.jquery를 사용하여 행의 값을 읽습니다.

내 HTML 테이블

<TR> 
<TD> 
<INPUT disabled onchange=updateDetails() value=33441 CHECKED type=checkbox name=invoiceRow dpieagent_iecontroltype="5"><INPUT value=false type=hidden name=isProfFee></TD> 
<TD>Professional fees for Searches</TD> 
<TD>285.00</TD></TR> 
<TR> 
<TD><INPUT onchange=updateDetails() value=36486 CHECKED type=checkbox name=invoiceRow dpieagent_iecontroltype="5"><INPUT value=false type=hidden name=isProfFee></TD> 
<TD>Professional fees</TD> 
<TD>3213.03</TD></TR> 

내 자바 스크립트는 다음과 같습니다 #InvoiceItemsRows

<tbody> 당신은해야합니다

function updateDetails() { 
     $("#InvoiceItemsRows input[type=checkbox][checked]").parent().last().each(
      function(index, value) { 
      alert(value.html()); 
      } 
    ); 
} 
+0

무엇이 문제입니까? – Zirak

+0

글쎄, 그냥보고, 가능한 한 마지막 호출 후 'each' 호출 할 수 있습니다, 그래서 당신은 단지 마지막 체크 상자 입력 통해 "iterating". 또 다른 가능한 것은'[checked]'입니다; 그것을': checked'로 바꾸어보십시오. – Zirak

답변

1

이 (당신이 <Input> 태그를 닫을 필요) 시도하셔야합니다 잘못된 HTML이 :

function updateDetails() { 
    var sum = 0; 
    $("#InvoiceItemsRows input[type=checkbox]:checked").each(
     function() { 
      sum += parseFloat($(this).closest('tr').children('td:eq(2)').text()); 
     } 
    ); 
    return sum; 
} 

alert(updateDetails()); 
1

태그 변경 :

$("#InvoiceItemsRows input[type=checkbox][checked]") 

는 사람 : 새로운 규칙이 모두 반환됩니다

$("#InvoiceItemsRows input:checked") 

하는 요소를 '확인'. :checked 선택 도구의 설명서를 확인하십시오.

0

이 시도 : 난 당신이 비록 <td>에 무엇이 총하려는 의심

var total = 0; 

$('#InvoiceItemsRows input:checked').each(function() { 
    total += $(this).val(); 
}); 

를?

0

당신이 당신의 값이 따옴표

<tr> 
    <td> 
     <input disabled="disabled" onchange="updateDetails()" value="33441" checked="checked" type="checkbox" name="invoiceRow" dpieagent_iecontroltype="5"> <input type="hidden" name="isProfFee"> 
    </td> 
    <td> 
     Professional fees for Searches 
    </td> 
    <td> 
     285.00 
    </td> 
</tr> 
<tr> 
    <td> 
     <input onchange="updateDetails()" value="36486" checked="checked" type="checkbox" name="invoiceRow" dpieagent_iecontroltype="5"> <input type="hidden" name="isProfFee"> 
    </td> 
    <td> 
     Professional fees 
    </td> 
    <td> 
     3213.03 
    </td> 
</tr> 

다음

$("#InvoiceItemsRows input:checked") 
2

자바 스크립트를 어쩌면을 다른 사람들이 게시 한 것만 큼 화려한 것은 아니지만 의미가 있습니다.

<TR> 
<TD> 
<INPUT disabled value="33441" CHECKED type="checkbox" name="invoiceRow" dpieagent_iecontroltype="5"><INPUT value=false type=hidden name=isProfFee></TD> 
<TD>Professional fees for Searches</TD> 
<TD>285.00</TD></TR> 
<TR> 
<TD><INPUT value="36486" CHECKED type="checkbox" name="invoiceRow" dpieagent_iecontroltype="5"><INPUT value=false type=hidden name=isProfFee></TD> 
<TD>Professional fees</TD> 
<TD>3213.03</TD></TR> 

$(document).ready(function() { 
    $('[name=invoiceRow]').click(function() { 
     updateDetails(); 
    }); 
    function updateDetails() { 
    var total = 0; 
    var currentnum = 0; 
     $("input:checked").each(
      function(index, value) { 
       currentnum = $(this).val(); 
       currentnum = Number(currentnum); 
       total = total + currentnum; 
      }); 
     alert(total); 
    } 
}); 

HTML은 당신이 생각을 고정 완료 할 수 있습니다 누락 된 따옴표의 일부를 고정.

+0

oops는 TD에서 값을 무시하고 싶다는 것을 간과했는데, – Gordnfreeman

+0

어쨌든 감사합니다. :) – cpoDesign

관련 문제