2011-02-09 130 views
0

如何計算值複選框,收音機和輸入型=文本名稱= totalSum的jQuery JavaScript的複選框,單選計算總和的對象

<script type="text/javascript"> 
$(function(){ 
    $("table input:checkbox").click(function(){ 
    if ($(this).is(":checked")){ 
     $(this).parents("tbody").find("input:radio").attr("disabled",null); 
    } 
    else{ 
     $(this).parents("tbody").find("input:radio").attr("disabled",true); 
    } 
}); 
}); 
</script> 



<form method=POST name=memform><table align=center> 
<tbody> 
<tr><td colspan=3><input type=checkbox name=serv1 value=1>ВъездАвто</td></tr> 
<tr><td><input type=radio price=6000 name=servch1 value=6000 ><a>г/п 10Т</a></td><td><a>Сумма:&nbsp;6000</a></td><td><a>НДС:&nbsp;1200</a></td></tr> 
<tr><td><input type=radio price=4200 name=servch1 value=4200 ><a>г/п 7Т</a></td><td><a>Сумма:&nbsp;4200</a></td><td><a>НДС:&nbsp;840</a></td></tr> 
<tr><td><input type=radio price=3000 name=servch1 value=3000 ><a>г/п 5Т</a></td><td><a>Сумма:&nbsp;3000</a></td><td><a>НДС:&nbsp;600</a></td></tr> 
<tr><td><input type=radio price=1800 name=servch1 value=1800 ><a>г/п 3Т</a></td><td><a>Сумма:&nbsp;1800</a></td><td><a>НДС:&nbsp;360</a></td></tr> 
</tbody> 

<tbody> 
<tr><td colspan=3><input type=checkbox name=serv2 value=2>ХранСутки40фут</td></tr> 
<tr><td><input type=radio price=5300 name=servch2 value=5300 ><a>гружен.</a></td><td><a>Сумма:&nbsp;5300</a></td><td><a>НДС:&nbsp;1060</a></td></tr> 
<tr><td><input type=radio price=3000 name=servch2 value=3000 ><a>порожн.</a></td><td><a>Сумма:&nbsp;3000</a></td><td><a>НДС:&nbsp;600</a></td></tr> 
</tbody> 

<tbody> 
<tr><td colspan=3><input type=checkbox name=serv3 value=3>ХранСутки20фут</td></tr> 
<tr><td><input type=radio price=2600 name=servch3 value=2600 ><a>гружен.</a></td><td><a>Сумма:&nbsp;2600</a></td><td><a>НДС:&nbsp;520</a></td></tr> 
<tr><td><input type=radio price=1600 name=servch3 value=1600 ><a>порожн.</a></td><td><a>Сумма:&nbsp;1600</a></td><td><a>НДС:&nbsp;320</a></td></tr> 
</tbody> 

<tbody> 
<tr><td colspan=3><input type=checkbox name=serv4 value=4>Очистка конт.</td></tr> 
<tr><td><input type=radio price=2700 name=servch4 value=2700 ><a>среднетон.</a></td><td><a>Сумма:&nbsp;2700</a></td><td><a>НДС:&nbsp;540</a></td></tr> 
<tr><td><input type=radio price=6300 name=servch4 value=6300 ><a>20фут</a></td><td><a>Сумма:&nbsp;6300</a></td><td><a>НДС:&nbsp;1260</a></td></tr> 
<tr><td><input type=radio price=11500 name=servch4 value=11500 ><a>40фут</a></td><td><a>Сумма:&nbsp;11500</a></td><td><a>НДС:&nbsp;2300</a></td></tr> 
</tbody> 

<tr><td><input type=checkbox name=serv9 value=900 ><a>УстнаяСправка</a></td><td><a>Сумма:&nbsp;900</a></td><td><a>НДС:&nbsp;180</a></td></tr> 
<tr><td><input type=checkbox name=serv10 value=1800 ><a>УведомлТелефон</a></td><td><a>Сумма:&nbsp;1800</a></td><td><a>НДС:&nbsp;360</a></td></tr> 
<tr><td><input type=checkbox name=serv11 value=2200 ><a>ОчисткаРазметка</a></td><td><a>Сумма:&nbsp;2200</a></td><td><a>НДС:&nbsp;440</a></td></tr> 
<tr><td><input type=checkbox name=serv19 value=15000 ><a>УведомлТелеграф</a></td><td><a>Сумма:&nbsp;15000</a></td><td><a>НДС:&nbsp;3000</a></td></tr> 
<tr><td><input type=checkbox name=serv24 value=42900 ><a>ЭкспедОпер</a></td><td><a>Сумма:&nbsp;42900</a></td><td><a>НДС:&nbsp;8580</a></td></tr> 
<tr><td><a>КолКранОпер</a></td><td><a>Кол.&nbsp;</a><input type=text maxlength=2 size=2 name=coef1 value=5><a>&nbsp;Стоим.(ед):&nbsp;11000</a></td><td><a>НДС:&nbsp;2200</a></td></tr> 
<tr><td><a>КолПогрузОпер</a></td><td><a>Кол.&nbsp;</a><input type=text maxlength=2 size=2 name=coef2 value=2><a>&nbsp;Стоим.(ед):&nbsp;1000</a></td><td><a>НДС:&nbsp;200</a></td></tr> 
<tr><td colspan=3 align="center"><a>Сумма:</a>&nbsp;<input name=totalSum id=totalSum type="text" value="" readonly> 
<input type=hidden name=hiddentotal value=0><input type=hidden name=hiddenpriorradio value=0></td></tr><tr><td colspan=3 align="center">&nbsp;<input type="button" value="Exit" onclick="document.location = 'mem.php'" /></td></tr> 
</table></form> 
+0

隨機側面說明,你可能希望[`.closest()`]( http://api.jquery.com/closest)而不是[`.parents()`](http://api.jquery.com/parents) – gnarf 2011-02-09 15:08:15

回答

0

晚了一點,但是:

$("table input:radio, table input:checkbox").click(function(){ 
    var total=0; 
    $('table input:checked:enabled').each(function(index) { 
      total += parseInt($(this).val()); 
    }); 
    $("input[name='totalSum']").val(total) 
    }); 
0

收集所有可用的檢查收音機和複選框,然後抓住他們值。 丟失價格屬性,改爲使用特殊類(例如「sumCost」)。 [未測試]

var iTotal = 0; 
$(".sumCost:checked").each(function(){ 
    iTotal += $(this).val(); 
}); 

$("input[name='totalSum']").val(iTotal); 
+0

不工作: master 2011-02-09 15:04:12

相關問題