Javascript函数不通过document.getElementById访问复选框选中值
Javascript不是我的强项,我正在尝试编写一个简单的函数来计算用户选择了多少复选框。这些复选框是从数据库中存储的值生成的,表示可供订购比萨饼的客户选择的配料 Javascript:Javascript函数不通过document.getElementById访问复选框选中值,javascript,php,checkbox,Javascript,Php,Checkbox,Javascript不是我的强项,我正在尝试编写一个简单的函数来计算用户选择了多少复选框。这些复选框是从数据库中存储的值生成的,表示可供订购比萨饼的客户选择的配料 Javascript: <script type="text/javascript"> function countBoxes() { var aCounter = 0; var count = 0; while (count < 10){ var aString = 'topping' + count;
<script type="text/javascript">
function countBoxes()
{
var aCounter = 0;
var count = 0;
while (count < 10){
var aString = 'topping' + count;
var aCheckbox = document.getElementById(aString);
if (aCheckbox.checked)
{
aCounter++;
}
count++;
}
alert(aCounter + 'boxes have been ticked');
}
</script>
函数计数框()
{
var aCounter=0;
var计数=0;
同时(计数<10){
var aString=‘topping’+计数;
var aCheckbox=document.getElementById(aString);
如果(aCheckbox.checked)
{
aCounter++;
}
计数++;
}
警报(计数器+‘已勾选方框’);
}
PHP:
echo”“;
while($row=mysql\u fetch\u assoc($product))
{
回音“$row['topping_name']”。价格($row[$aString])。香肠0.00
更换
onclick="countBoxes();"
借
并通过
function countBoxes()
{
var aCounter = 0;
var count = 0;
var element = null;
while (element = document.getElementById('topping' + count)){
if (element.checked)
aCounter++;
count++;
}
alert(aCounter + 'boxes have been ticked');
}
小提琴:问题在于你写字的时候
if (aCheckbox.checked)
因为如果您的aCheckbox=null,那么您在aCheckbox.checked上有一个错误
if ( aCheckbox && aCheckbox.checked)
JSFIDLE可以帮助您
我是否误解了您的问题,或者您的php代码没有生成复选框?php生成的复选框具有唯一的ID topping0、topping1等,我应该提到这些复选框使用onClick调用函数event@user2802882你能显示生成的HTML吗?对不起,我有点困惑。你为什么给e每个人都有一个唯一的
名称
?拥有一个name=“toppings”
,不是更容易吗?然后可以使用document.getElementsByName('toppings'))
并对其进行迭代。感谢您的帮助,我在php中发现了另一个错误,我未能初始化$counter并将其设置为increment by$counter=$counter+1@user2802882你为什么选择了一个与你无关的答案?
function countBoxes()
{
var aCounter = 0;
var count = 0;
var element = null;
while (element = document.getElementById('topping' + count)){
if (element.checked)
aCounter++;
count++;
}
alert(aCounter + 'boxes have been ticked');
}
if (aCheckbox.checked)
if ( aCheckbox && aCheckbox.checked)