嘿伙计们,我的表格如下所述
<td><input type="text" id="NumberofRisks" name="Yeses" style="width: 25px" value ="<?php echo $row['Total-Score'];?> " </td>
表单中有一些来自表的数据作为值,我想把这个值带到我的Javascript中来做一个简单的计算。该功能如下所列。
function sum()
{
sumField = document.getElementById("NumberofRisks");
var sum = 0;
$("input[name^='yanswer']:checked").each(function(){
sum++;
});
sumField.value = sum;
}
我需要将该值作为NumberofRisks的值获取到函数中。有没有办法可以做到这一点?
答案 0 :(得分:1)
为了获取输入框的值,您可以使用以下javascript:
var sum = document.getElementById("NumberofRisks").value;
这是你想要实现的目标吗?
作为旁注,在您提供的示例中,您没有关闭input box
,因此也可能会给您一些错误。
编辑:
如果您正在寻找纯Javascript方式,请参阅以下内容:
var elements = document.getElementsByTagName('input');
var sum = document.getElementById("NumberofRisks").value;
for (var i = 0; i < elements.length; i++) {
if (elements[i].checked) {
sum++
}
}
请参阅小提琴 - http://jsfiddle.net/es26j/
答案 1 :(得分:1)
尝试将sum
设置为初始值#NumberofRisks
。
var prevCheckedCount = 0;
function sum()
{
var sumField = document.getElementById("NumberofRisks");
// start sum with the inital value in HTML from DB
var valueOnClick = Math.floor(sumField.value);
var thisCheckedCount = 0;
$("input[name^='yanswer']:checked").each(function(){
thisCheckedCount++;
});
if(thisCheckedCount <= prevCheckedCount) {
sumField.value = valueOnClick - prevCheckedCount + thisCheckedCount;
} else {
sumField.value =valueOnClick + thisCheckedCount;
}
prevCheckedCount = thisCheckedCount;
}
以下是此代码的工作原理:http://jsfiddle.net/t5hG4/