2012-01-06 4 views
0

:私はあるチェックボックスの数をカウントする必要がある私は、行のチェックボックスの状態が変更されたときに達成しようとしているhttp://jsfiddle.net/8SEz2/4/jqueryの私はこのようになりますテーブルを持っているチェックボックスにチェックカウント問題

Branch StSeq# Inv# Invoice Date Payable Amount  Pay? 
Branch1  2  A2 11/11/2011  49,500.00  checkbox(unchecked) 
Branch1  3  A3 11/11/2011  12,221.55  checkbox(checked) 
Branch3  4  B1 11/11/2011  12,220.56  checkbox(unchecked) 

同じブランチ名を共有していることも確認しました。

Ex。私は最初のチェックボックスをクリックすると、それがあるべき、(支社)私はブランチにチェック回数とし、この場合は、ポップアップを取得する必要があります。2.

これは私のjQueryのです:

//Please refer to the jsFiddle for the class names 
//used to track checked branches 
$('input.payMe').change(function() { 
    if ($(this).is(':checked')) { 
    //cm enable 
    var branchName = $(this).parent().prevAll("td.invoiceBranch").html().trim(); 
    var branchCount = 0; 
    $('td.invoiceBranch').each(function(index) { 
     if ($(this).html().trim() == branchName) { 
      branchCount++; 
     } 
    }); 
     alert(branchCount); 
    } 
    else { 
    //cm disable 
     var branchName = $(this).parent().prevAll("td.invoiceBranch").html().trim(); 
     var branchCount = 0; 
     $('td.invoiceBranch').each(function (index) { 
      if ($(this).html().trim() == branchName) { 
       //Needs to select the checkbox to get checked state. 
       //Not sure if this is correct 
       var inputHTML = $(this).nextAll("td.paymentCheckBox").first(); 
       if($(inputHTML).is(":checked")) { 
        branchCount++; 
       } 
      } 
     });  
     alert(branchCount); 
    } 
}); 

任意のアイデア?私は2日間悩まされてしまった。ありがとう!

+0

チェックボックスIDまたは名前の一部としてbranchnameを記述しないのはなぜですか? – mplungjan

+0

私はそれを考えましたが、私が必要とするものではありません。そのページには、分岐チェックの数が0の場合に行が無効になっている別のテーブルがあります。つまり、Branch1の2つのチェックボックスのうち1つが選択されていると、他のテーブルの行が有効になり、 。だからこそ私は総チェックカウントが必要です。 – Ron

答えて

3

私はあなたがそれぞれのチェックボックス用のタグを適用すべきだと思います支店名

<input type="checkbox" class="payMe" branch="Branch1" ... /> 

その後、楽しいおおよそのようにする必要があります

$(':checkbox.payMe').change(function() { 
    alert($(':checkbox.payMe[branch="' + $(this).attr('branch') + '"]:checked').length); 
}); 
+0

良い答え。素晴らしい仕事をした。おかげでグライド。 – Ron

1

ここにあなたが行く:http://jsfiddle.net/8SEz2/2/

私は、チェックボックス

、ここで彼のJSに属性データ・ブランチを追加しました:

$(".payMe").change(function(){ 
    var branch = $(this).attr('data-branch');   
    alert($("input[data-branch='" + branch + "']:checked").length); 
}); 
関連する問題