【问题标题】:Summing up value for hidden field when checkbox is clicked not working单击复选框时,汇总隐藏字段的值不起作用
【发布时间】:2016-03-07 15:10:00
【问题描述】:

我有一个复选框,但具有分配给项目名称的值。现在我有这个隐藏字段,它具有分配给项目价格的值。现在,当我使用隐藏字段运行我的 jquery 来计算所选项目的总和时,它不起作用。当我将价格和计算 ID 分配给复选框而不是隐藏字段时,它会以相反的方式工作。

这是我的 jquery:

   <script type="text/javascript">
     function calcscore(){
      var score = 0;
        $(".calc:checked").each(function(){
         score+=parseInt($(this).val(),10);
              });
            $('#price').text(score.toFixed(2));
 $("input[name=sum]").val(score)
   }
  $().ready(function(){
  $(".calc").change(function(){
     calcscore()
 });
});
  </script>

还有我的html:

        <li>
        <label>
         <input class="calc" type="checkbox" name="seasoning[]"  value="Title1"/>
         The Title
         </label>
        <input type="hidden" name="title8" value="250">
       </li>


             <li>
               <label>
              <input class="calc" type="checkbox" name="seasoning[]"  value="Title1"/>The Title
         </label>
        <input type="hidden" name="title8" value="150">
       </li>

      <p>Total: PHP <span id="price">0</span></p>

任何见解将不胜感激。谢谢

【问题讨论】:

  • 并且您希望计算对应于复选框的隐藏值的总和?
  • 检查答案是否适合您

标签: javascript php jquery sum


【解决方案1】:

您的代码应该更像下面的解决方案,并检查它在 jsfiddle 上的工作方式:https://jsfiddle.net/yehiaawad/wwtwmaLv/ 您的 HTML:

    <li>
    <label>
     <input class="calc" type="checkbox" name="seasoning[]"  value="Title1"/>
     The Title
      <input type="hidden" name="title8" value="250">

     </label>
   </li>
         <li>
           <label>
          <input class="calc" type="checkbox" name="seasoning[]"  value="Title1"/>The Title
                  <input type="hidden" name="title8" value="150">
     </label>
   </li>
      <p>Total: PHP <span id="price">0</span></p>

你的 JS

     function calcscore(){
      var score = 0;
        var checked=$(".calc:checked ~   input[type=hidden]").each(function(){
        score+=parseInt($(this).val());
        });
 $('#price').text(score.toFixed(2));
   }
  $(document).ready(function(){
  $(".calc").change(function(){
     calcscore()
 });
});

【讨论】:

  • 嘿,工作@yehia,谢谢!现在要为问题添加另一个曲线球,我还将 class="calc" 连接到单选按钮中。现在它正在使用复选框,它不适用于单选按钮。这里单选按钮的结构供参考:
  • 通过将标题放在单选按钮中并将价格放在隐藏字段值中来解决它。也使 $_POST 更干净。谢谢!
  • 很高兴你能找到它,如果它对你有帮助,我会很高兴接受这个答案)
  • 投票按钮下方有一个勾号)
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签