Javascript复选框计算

时间:2014-08-17 10:27:18

标签: javascript forms checkbox jquery-calculation

我正在尝试使用单选按钮构建一个表单计算javascript,但我还没有能够使用复选框。

该表单包含域名whois检查,该域名生成名为'域' 的复选框,值为已检查域名< tld,其价格在相同的表格单元格。我设法将一个与已检查值匹配的js代码与包含tld价格的数组中的数据相匹配。 (见下文)

问题#1 :复选框的值应该是整个域名(这样我以后可以随身携带带有$ _POST的变量

问题#2 :当前正在运行的js不会添加更多相同tld的域名(foo.com和bar.com的价格仅在两次输入后添加) for 循环适用于单选按钮不能用于多次检查

-

我考虑过的解决方案:
解决方案#1 :向复选框添加ID,其名称为搜索域,其值为该域tld的价格,并将其推送到 for 循环的js对象中可以匹配已检查的价格 - 与问题#1冲突,虽然我想我可以使用jQuery获取所有选中的复选框,并将它们附加到PHP可以稍后处理的隐藏输入(?)..

解决方案#2 :让js从其所在的表格单元格中获取该域名的价格并将其添加。 - 问题:如果表格单元格的ID取决于搜索的域名,我如何让js得到价格?

这里是当前正在处理的js,它只处理复选框:

var domaintld = new Array();
 domaintld["com"]=3000;
 domaintld["eu"]=3650;
 domaintld["org"]=3650;
 domaintld["net"]=2850;
 domaintld["info"]=4050;

function calcdomaintldPrice() {
   var domaintldPrice=0;
   var theForm = document.forms["orderform"];
   var chosenDomains = theForm.elements["domain"];

for(var i=0; i < chosenDomains.length; i++) {
   if(chosenDomains[i].checked) {
   domaintldPrice = domaintld[chosenDomains[i].value];
   break;
   }
}

return domaintldPrice;
}

以下是复选框标记的示例:

<input type="checkbox" name="domain" value="net" id="dfbdfb.net" class="domainradio"
onclick="calculateTotal()"><label for="dfbdfb.net" class="domainradio">&nbsp;</label>

1 个答案:

答案 0 :(得分:0)

广告问题1:您可能希望提供更多信息,例如html的生成方式。据我所知,您可以将value设置为与id无法相提并论吗?

广告问题2:

替代

domaintldPrice = domaintld[chosenDomains[i].value];

domaintldPrice += domaintld[chosenDomains[i].value];

并删除break