Javascript 复选框-Switch语句的空值

Javascript 复选框-Switch语句的空值,javascript,dom,Javascript,Dom,我有一个带有输入文本框和复选框的基本表单。该示例当前显示了两个项目。我试图使用开关案例来确定检查了什么,然后根据数量和用户选择计算总数。我在mufin1.checked==true的开关盒内得到一个错误。如何获得要返回的正确值 JS html 数量:蓝莓松饼。59美分 数量:香蕉坚果松饼。90美分 假设您不想处理两个复选框都被选中的情况,您可以这样写: switch (true) { case (mufin1.checked): charge += q_muffin1

我有一个带有输入文本框和复选框的基本表单。该示例当前显示了两个项目。我试图使用开关案例来确定检查了什么,然后根据数量和用户选择计算总数。我在
mufin1.checked==true的开关盒内得到一个错误。如何获得要返回的正确值

JS

html


数量:蓝莓松饼。59美分
数量:香蕉坚果松饼。90美分

假设您不想处理两个复选框都被选中的情况,您可以这样写:

switch (true) {
      case (mufin1.checked):
      charge += q_muffin1 * muffin1;
      break;
      case (mufin2.checked):
      charge += q_muffin2 * muffin2;
      break;
    default:
      window.alert("Sorry, we are out of");
  }
但是如果没有变量xxx1和xx2,您的整个代码可能会更干净。我不确定整个目标,但这可能是这样的:

var charge = 0;
[1,2].forEach(function(id){
   var muffin = document.getElementById('muffin'+id);
   var q_muffin = document.getElementById('muffin_quantity'+id).value;
   if (muffin.checked) charge += q_muffin;
});
window.alert("Your total is: $" + charge);

假设您不想处理两个复选框都被选中的情况,您可以这样写:

switch (true) {
      case (mufin1.checked):
      charge += q_muffin1 * muffin1;
      break;
      case (mufin2.checked):
      charge += q_muffin2 * muffin2;
      break;
    default:
      window.alert("Sorry, we are out of");
  }
但是如果没有变量xxx1和xx2,您的整个代码可能会更干净。我不确定整个目标,但这可能是这样的:

var charge = 0;
[1,2].forEach(function(id){
   var muffin = document.getElementById('muffin'+id);
   var q_muffin = document.getElementById('muffin_quantity'+id).value;
   if (muffin.checked) charge += q_muffin;
});
window.alert("Your total is: $" + charge);

假设您不想处理两个复选框都被选中的情况,您可以这样写:

switch (true) {
      case (mufin1.checked):
      charge += q_muffin1 * muffin1;
      break;
      case (mufin2.checked):
      charge += q_muffin2 * muffin2;
      break;
    default:
      window.alert("Sorry, we are out of");
  }
但是如果没有变量xxx1和xx2,您的整个代码可能会更干净。我不确定整个目标,但这可能是这样的:

var charge = 0;
[1,2].forEach(function(id){
   var muffin = document.getElementById('muffin'+id);
   var q_muffin = document.getElementById('muffin_quantity'+id).value;
   if (muffin.checked) charge += q_muffin;
});
window.alert("Your total is: $" + charge);

假设您不想处理两个复选框都被选中的情况,您可以这样写:

switch (true) {
      case (mufin1.checked):
      charge += q_muffin1 * muffin1;
      break;
      case (mufin2.checked):
      charge += q_muffin2 * muffin2;
      break;
    default:
      window.alert("Sorry, we are out of");
  }
但是如果没有变量xxx1和xx2,您的整个代码可能会更干净。我不确定整个目标,但这可能是这样的:

var charge = 0;
[1,2].forEach(function(id){
   var muffin = document.getElementById('muffin'+id);
   var q_muffin = document.getElementById('muffin_quantity'+id).value;
   if (muffin.checked) charge += q_muffin;
});
window.alert("Your total is: $" + charge);
检查这个

检查这个

检查这个



选中此项

所有这些都没有意义
checkbox
是一个元素集合,它是空的,因为没有
元素,但它没有选中的
属性,即使这样,它也不是一个您希望按顺序与其他复选框的值进行比较的属性……然后还有
==true
,这是多余的,这些都没有意义
checkbox
是一个元素集合,它是空的,因为没有
元素,但它没有选中的
属性,即使这样,它也不是一个您希望按顺序与其他复选框的值进行比较的属性……然后还有
==true
,这是多余的,这些都没有意义
checkbox
是一个元素集合,它是空的,因为没有
元素,但它没有选中的
属性,即使这样,它也不是一个您希望按顺序与其他复选框的值进行比较的属性……然后还有
==true
,这是多余的,这些都没有意义
checkbox
是一个元素集合,它是空的,因为没有
元素,但它没有选中的
属性,即使这样,它也不是一个您希望按顺序与其他复选框的值进行比较的属性……然后还有
==true
,这是多余的。+1你能给我看一个用数组做的代码片段吗?好的,太好了。结果显示为
$0[object HTMLInputElement]
。检查一个活动。@Code\u Ed\u学生添加了缺少的.value+1你能给我看一个用数组执行的代码片段吗?好的,太好了。结果显示为
$0[object HTMLInputElement]
。检查一个活动。@Code\u Ed\u学生添加了缺少的.value+1你能给我看一个用数组执行的代码片段吗?好的,太好了。结果显示为
$0[object HTMLInputElement]
。检查一个活动。@Code\u Ed\u学生添加了缺少的.value+1你能给我看一个用数组执行的代码片段吗?好的,太好了。结果显示为
$0[object HTMLInputElement]
。检查活动。@Code\u Ed\u学生添加了缺少的.value请查看编辑问题或答案时的图标,它们将帮助您正确设置格式。但这个答案很奇怪。那是什么
转换
?为什么你认为使用字符串而不是布尔值会更好?请看一下你编辑问题或答案时的图标,它们将帮助你正确设置格式。但这个答案很奇怪。那是什么
转换
?为什么你认为使用字符串而不是布尔值会更好?请看一下你编辑问题或答案时的图标,它们将帮助你正确设置格式。但这个答案很奇怪。那是什么
转换?为什么你认为使用字符串而不是布尔值会更好?请看一下你编辑问题或答案时的图标,它们将帮助你正确设置格式。但这个答案很奇怪。那是什么转换?为什么你认为用字符串代替布尔值会更好?