我对此感到疯狂,我有一个蹩脚的功能,但与所有浏览器不兼容:
javascript代码:
function KeepCount() {
var NewCount = 0;
if (document.FormName.iphone3g1.checked)
{NewCount = NewCount + 1;}
if (document.FormName.iphone3g2.checked)
{NewCount = NewCount + 1;}
if (document.FormName.iphone3g3.checked)
{NewCount = NewCount + 1;}
if (document.FormName.iphone3g4.checked)
{NewCount = NewCount + 1;}
if (NewCount == 2){
valor.value = total.value - (total.value*20/100);}
if (NewCount <= 1){
valor.value = 0;
}
}
html部分:
<input onclick="clickCh(this);return KeepCount();" type="checkbox" name="iphone3g1" value="50.00"> Vidro Partido<br />
<input onclick="clickCh(this);return KeepCount();" type="checkbox" name="iphone3g2" value="59.00"> LCD Danificado<br />
<input onclick="clickCh(this);return KeepCount();" type="checkbox" name="iphone3g3" value="80.00"> Substituir capa traseira<br />
<input onclick="clickCh(this);return KeepCount();" type="checkbox" name="iphone3g4" value="38.00"> Botão Volume
嗯,这适用于使用chrome和firefox的光盘,但我还是不太喜欢这些代码。
我知道这里有很多专家,有人可以帮助我吗?我会非常感激
答案 0 :(得分:1)
如果您使用jquery,您可以执行类似
的操作 if($('#productDiv input:checked').length >= 2) ...
这样你就没有手动编码每个复选框。而是将它们全部包装在某个div中,或者给它们一些独特的css类,在这种情况下,你可以选择$('input.myProduct:checked')
,并且很容易得到计数。(顺便说一下,你可能想要NewCount >= 2
,不是==
)
正如@John Weldon所说,如果您想在浏览器中显示它,可以计算此客户端,但是一旦收到订单,您必须验证服务器端的所有价格是否合适,否则我可以给自己100%的折扣等......