使一个复选框像一个单选按钮

时间:2011-10-25 01:04:36

标签: javascript forms validation checkbox

所以我有这个披萨订单表格,对于顶部部分,我希望能够检查多个选择。例如,用户可以检查意大利辣香肠,香肠,橄榄等。但是如果用户选择“No Toppings”,我希望它清除其余的复选框。我尝试编写一些JavaScript来做它,但它不稳定,它只适用于Click。所以基本上,我不希望用户能够选择“No Toppings”,我不想要任何其他选择,当用户选择不同的顶部时,我不希望选择“No Toppings”。我希望这是有道理的!任何帮助表示赞赏!到目前为止,这是我的代码:

<script type="text/javascript">
  function unCheck(el, n){
    el.form.elements[n].checked = false;
  }
</script>

<table>
  <tr>
    <td style="border: none;">
      <input name="size" type="radio" value="8.00" id="small" 
             onclick="this.form.total.value=calculateTotal(this);" />
      <label for="small">Small ($8.00)</label>
    </td>
    <td style="border: none;">
      <input type="checkbox" name="topping" id="pepperoni" value="0.50" 
             onclick="this.form.total.value=calculateTotal(this);"/>
      <label for="pepperoni">Pepperoni</label>

      <input type="checkbox" name="topping" id="sausage" value="0.50" 
             onclick="this.form.total.value=calculateTotal(this);" />
      <label for="sausage">Sausage</label>
    </td>
  </tr>
  <tr>
    <td style="border: none;">
      <input name="size" type="radio" value="10.00" id="medium" 
             onclick="this.form.total.value=calculateTotal(this);" />
      <label for="medium">Medium ($10.00)</label>
    </td>
    <td style="border: none;">
      <input type="checkbox" name="topping" id="mushroom" value="0.50" 
             onclick="this.form.total.value=calculateTotal(this);" />
      <label for="mushroom">Mushroom</label>

      <input type="checkbox" name="topping" id="olive" value="0.50"
             onclick="this.form.total.value=calculateTotal(this);" />
      <label for="olive">Olive</label>
    </td>
  </tr>
  <tr>
    <td style="border: none;">
      <input name="size" type="radio" value="12.00" id="large" 
        onclick="this.form.total.value=calculateTotal(this);"/>
      <label for="large">Large ($12.00)</label>
    </td>
    <td style="border: none;">
      <input type="checkbox" name="Un_CheckAll" value="0.00" id="none" 
             onclick="unCheck(this, 'pepperoni','sausage', 'mushroom', 'olive'); "/>
      <label for="none">No Toppings (Cheese Pizza)</label> 
    </td>
  </tr>
<table>

1 个答案:

答案 0 :(得分:1)

利用jQuery,这变得微不足道。 Check out this sample

相关问题