【发布时间】:2014-10-10 11:36:18
【问题描述】:
我正在尝试构建一个与单选按钮配合使用的表单计算 javascript,但我无法使其与复选框配合使用。
该表单包含一个域 whois 检查,它生成名称为 'domain' 的复选框,值是检查域的 tld,其价格在同一个表格单元格中回显。我设法编写了一个 js 代码,该代码将检查的值与包含 tld 价格的数组中的数据相匹配。 (见下文)
问题#1:复选框的值应该是整个域名(这样我以后可以用 $_POST 携带该变量
问题 #2:由于 与单选按钮配合良好的 for 循环不能用于多项检查
--
我考虑过的解决方案:
解决方案 #1:将 ID 添加到复选框,其名称为搜索的域,其值为该域 tld 的价格,并将它们推送到 js 对象中for 循环可以将选中的与它们的价格相匹配 - 与问题 #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"> </label>
【问题讨论】:
标签: javascript forms checkbox jquery-calculation