首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >addEventListener到多个复选框

addEventListener到多个复选框
EN

Stack Overflow用户
提问于 2018-07-20 07:32:40
回答 1查看 6.7K关注 0票数 3

下面,我有一个简单的表单,其中有4个复选框作为席位。我试图做的是,当一个访问者选择,比方说,带有is A2A4的座位复选框时,我希望在一个名为id="demo"的段落内单击后,立即显示这些is及其总值。当单击了一个按钮“立即保留”时,应将总值赋给一个名为$TotalCost的变量。

我如何才能做到这一点呢?下面是我的代码:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
<h2>Please choose a seat to book</h2>
<form action="/action_page.php" method="post">
<input type="checkbox" name="vehicle" id="A1" value="$100">$100<br>
<input type="checkbox" name="vehicle" id="A2" value="$65"> $65<br>
<input type="checkbox" name="vehicle" id="A3" value="$55"> $55<br>
<input type="checkbox" name="vehicle" id="A4" value="$50"> $50<br>

<p id="demo">
Selected Seat(s)
<br>
<br>
Total: USD  <input type="submit" value="Reserve Now">
</form>

</p>

<script>
document.getElementById("A1").addEventListener("click", displayCheck);

function displayCheck() {
    document.getElementById("demo").innerHTML = ;
}

    </script>
    </body>
    </html>
EN

回答 1

Stack Overflow用户

发布于 2018-07-20 08:06:35

这是一个开场白。关于数学加法。因为您的问题是用jQuery标记的,所以这是一种jQuery方式。

请注意,表单将只发送类似于{vehicle:['on','','on','on']}的内容...这远不是任何人想要发送到服务器的。但这是另一个问题。

代码语言:javascript
复制
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  </head>
  <body>
    <h2>Please choose a seat to book</h2>
    <form action="/action_page.php" method="post">
      <input type="checkbox" name="vehicle" id="A1" value="100">$100<br>
      <input type="checkbox" name="vehicle" id="A2" value="65"> $65<br>
      <input type="checkbox" name="vehicle" id="A3" value="55"> $55<br>
      <input type="checkbox" name="vehicle" id="A4" value="50"> $50<br>

      Selected Seat(s): <span id="seats"></span>
      <br>
      <br>
      Total: $<span id="demo">0.00</span> USD  <input type="submit" value="Reserve Now">
    </form>

    <script>
    $(document).ready(function(){
      
      var total=0;
      var seats=[];
      $("form input").on("click",function(){
        var id=$(this).attr("id");
        if($(this).is(":checked")){
          total+=parseInt($(this).val());
          seats.push(id);
        }else{
          total-=parseInt($(this).val());
          seats.splice(seats.indexOf(id),1);
        }
        $("#demo").text(total.toFixed(2));
        $("#seats").html(seats.sort().join(","));
      });

    });
    </script>
  </body>
</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51433092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档