0

我正在一个订购汉堡的网站上工作,并希望人们使用单选按钮选择汉堡,然后让他们使用一系列复选框选择额外的配料。我可以让单选按钮自行工作,现在正在添加复选框。我当前的 HTML 是

<td style="border:5px solid #39973B" colspan=2>
     <input id="size" name="beef" data-price="6.00" value="1" type="radio">single &pound6.00
     <input id="size" name="beef" data-price="7.00" value="2" type="radio">double &pound7.00
     </td>
<tr >
<td style="border:5px solid #39973B" colspan=2 >
<table>
<td align="center" colspan=5 style="border:2px solid #39973B"> Additional toppings (50p per topping)</td><br>
                      </tr><td style="padding:6px">Cheese</td><td style="padding:6px">Bacon</td><td style="padding:6px">Onions</td>
              </tr>

              <tr style="border:2px solid #39973B" ><td>
                  <input type="checkbox" name="Topping" value="Cheese"></td><td>
                  <input type="checkbox" name="Topping" value="Bacon"></td><td>
                  <input type="checkbox" name="Topping" value="Onions"></td>
                  </table>
                  <input id="addbeef" name="beef" type="button"  value="add">
                  </td>
                  </tr>
</table>

我已经定义了我的浇头和它们的成本

var top =["Cheese" , "Bacon", "Onions"];
  var cost=[.50, .50, .50];

我的javascript是

function getCheckedBoxes() {
    var css = 'input#size[name="beef"]:checked';
    var input = document.querySelector(css);    
    var size = input.value==='1'?'single':'double';
    var price = Number(input.getAttribute('data-price'));
  var checkboxes = document.getElementByName("Topping");
  var checkboxesChecked = [];
  for (var i=0; i<checkboxes.length; i++) {
     if (checkboxes[i].checked) {
        checkboxesChecked.push(checkboxes[i]);
     }
  }
    for (var j=0; j<checkboxesChecked.length; j++){
        size+=top[j];
        price+=cost[j];
    }
    var orderline = [this.name,size,price];
    addToBasket(orderline);
}

任何帮助将不胜感激。谢谢

4

1 回答 1

0
var checkboxes = document.getElementByName("Topping");
for (var val,i=0; i<checkboxes.length; i++) {
   if (checkboxes[i].checked) {
      val = checkboxes[i].value;
      size+=top[val]+" ";
      price+=cost[val];
   }
}
于 2013-05-17T09:18:17.377 回答