いくつかのjQueryチェックボックスを備えたテーブルがあります。各チェックボックスがクリックされると、これにより、以下を使用して下の行の合計を更新するメソッドがトリガーされます。onclick="UpdateTotalFee()"
ページが最初に読み込まれるとき、すべてが期待どおりに完全に機能します。チェックボックスをクリックするたびに、UpdateTotalFee()
メソッドが起動します。
問題が発生するのは、ユーザーが[すべて選択]リンクをクリックした後です。これは、すべてのチェックボックスを正しく選択するように機能しますが、その後チェックボックスをクリックしても、合計を更新するメソッドはトリガーされなくなります。
ファイアバグを調べると、ページが最初に読み込まれたときにチェックボックスをクリックするとがクリックされているように見えますがspan.checkboxplaceholder
、[すべて選択]リンクをクリックした後、チェックボックスをクリックしてもチェックボックスが呼び出されないようです。同じこと。
状況を十分に説明できたと思います。テーブルの完全なコードは次のとおりです。
<table border="1">
<tr>
<th></th>
<th style="vertical-align:middle;">Number</th>
<th style="text-align:left; vertical-align:middle;">Owner</th>
<th style="text-align:left; vertical-align:middle;">Address</th>
<th style="vertical-align:middle;">Code</th>
<th style="vertical-align:middle;">Class</th>
<th style="vertical-align:middle;">Filing Fee</th>
<th style="text-align:center; width:75px;">Review ?<br />
<a href="" onclick="select_all_com(); return false"><strong>All</strong></a>
or
<a href="" onclick="select_none_com(); return false"><strong>None</strong></a>
</th>
</tr>
<?php foreach ($property['commercial'] as $key => $value): ?>
<tr>
<th><?php echo str_pad($row++, 2, '0', STR_PAD_LEFT); ?></th>
<td><a href= "<?php echo site_url() . "propertydetail/viewpropertydetail/" . $value['property#']; ?>"><?php echo RollNumber($value['property#']); ?></a></td>
<td style="text-align:left"><?php echo $value['Property Owner']; ?> </td>
<td style="text-align:left"><?php echo $value['Property Address']; ?></td>
<td style="text-align:middle" ><?php echo number_format($value['PC'],0); ?></td>
<td><?php echo $value['Class']; ?></td>
<td><?php echo money_format('$%.0i', 140); ?></td>
<td id="com" style="padding-left:25px;" onclick="UpdateTotalFee()">
<input type="checkbox" name="file_com_appeal" class="com-checkbox" value="<?php echo $value['property#'] ?>"></td>
</tr>
<?php endforeach; ?>
<th colspan="6" style="text-align:right; padding:1% 1% 1% 0%;">
<h4>TOTAL</h4><h5><span id="AppealSelected"></span></h5></th>
<th ><h4><span id="AppealFeeTotal"></span></h4></th>
<th></th>
チェックボックスをクリックするたびに呼び出されることになっているJavascript関数は次のとおりです。
function UpdateTotalFee(){
var AppealCount = 0;
$('input[name=file_com_appeal]').each(function(){
if($(this).attr('checked')){
AppealCount++;
}
});
$('#AppealSelected').text(
(AppealCount == 0 ? '' : '(' + AppealCount + ' of ' + <?php echo count($property['commercial']);?> + (AppealCount == 1 ? ' property selected)' : ' properties selected)')));
$('#AppealFeeTotal').text("$"+(AppealCount*140));
}