首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript复选框计算

问Javascript复选框计算
EN

Stack Overflow用户
提问于 2014-08-17 10:27:17
回答 1查看 159关注 0票数 0

我正在尝试构建一个表单计算javascript,它可以很好地处理单选按钮,但我一直无法让它与复选框一起工作。

该表单包含一个域whois复选框,该复选框生成名称为“domain”的复选框,其值是选中域的tld,其价格在同一个表单元格中回音。我成功地编写了一个js代码,它将选中的值与包含tld价格的数组中的数据相匹配。(见下文)

问题#1:复选框的值应该是整个域名(以便我可以在后面的$_POST中携带该变量)。

问题#2:当前工作的js不会添加相同tld的更多域(foo.com和bar.com的价格只增加一次,每次两次),因为与单选按钮工作良好的foo.com循环不能与多个检查一起工作。

--

我思考过的解决办法:

解决方案#1:将ID添加到复选框中,其名称为搜索域,其值为该域tld的价格,并将其推入js对象,在js对象中,for循环可以与选中的值与其价格相匹配--与问题#1相冲突,但我想我可以使用jQuery获得所有复选框,并将它们附加到一个隐藏输入中,供PHP稍后在(?)上处理。

解决方案#2:让js从它所在的表格单元格中获取域的价格,并将其加起来。-问题:如果表单元格的ID取决于搜索的域,那么如何使js获得价格?

下面是当前工作的js,它只处理复选框:

代码语言:javascript
复制
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;
}

下面是一个复选框标记的示例:

代码语言:javascript
复制
<input type="checkbox" name="domain" value="net" id="dfbdfb.net" class="domainradio"
onclick="calculateTotal()"><label for="dfbdfb.net" class="domainradio">&nbsp;</label>
EN

回答 1

Stack Overflow用户

发布于 2014-08-17 10:37:34

广告问题1:您可能需要提供更多信息,例如如何生成html。据我所见,您只需将value设置为与id相同,对吗?

广告问题2:

替身

代码语言:javascript
复制
domaintldPrice = domaintld[chosenDomains[i].value];

使用

代码语言:javascript
复制
domaintldPrice += domaintld[chosenDomains[i].value];

并删除break

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25348347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档