Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找PHP循环元素的总和+;ng建模_Php_Html_Angularjs_Angularjs Scope_Angular Ngmodel - Fatal编程技术网

查找PHP循环元素的总和+;ng建模

查找PHP循环元素的总和+;ng建模,php,html,angularjs,angularjs-scope,angular-ngmodel,Php,Html,Angularjs,Angularjs Scope,Angular Ngmodel,我创建了一个表,每个月的每一天都有一行。每行有几个数字输入字段。当有人键入一个数字时,它会在它右边的元素中显示它。我使用了一个PHP while循环,根据当月的当前日期创建了多行 我要做的是使它在用户填写更多行时,将元素中的数字相加 这是我到目前为止所拥有的,我已经放了??????在我一直试图计算总数的span标记中: <!DOCTYPE HTML> <?php date_default_timezone_set('EST'); $day = date(j);

我创建了一个表,每个月的每一天都有一行。每行有几个数字输入字段。当有人键入一个数字时,它会在它右边的元素中显示它。我使用了一个PHP while循环,根据当月的当前日期创建了多行

我要做的是使它在用户填写更多行时,将元素中的数字相加

这是我到目前为止所拥有的,我已经放了??????在我一直试图计算总数的span标记中:

<!DOCTYPE HTML>


<?php 
  date_default_timezone_set('EST'); 
  $day = date(j); 
  $month = date(F); 
?>


<html ng-app="myApp">

<head>
  <link rel="stylesheet" href="css/main.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.min.js"></script>
  <script src="js/app.js"></script>
</head>

<body>
  <h1>Sales Tracker</h1>
  <div ng-controller="tableCtrl" id="salesTable">
    <table>
      <thead>
        <tr>
          <th rowspan="2">EDIT</th>
          <th>DATE</th>
          <th colspan="3">CORE</th>
          <th colspan="3">ACC</th>
          <th colspan="3">PPP</th>
        </tr>
        <tr>
          <td><?php echo $month ?></td>
          <td>TWI</td>
          <td>Actual</td>
          <td>MTD</td>
          <td>Units</td>
          <td>Actual</td>
          <td>MTD</td>
          <td>Units</td>
          <td>Actual</td>
          <td>MTD</td>
        </tr>
      </thead>
      <tbody>
        <?php 
          $i = 1; 
          while ($i <= $day ) { 
            echo "<tr>
                    <td>
                        <input type='checkbox' ng-model='checked$i'>
                    </td>
                    <td>
                        <span>$i</span>
                    </td>



                    <!--CORE-->
                    <td>
                        <input type='number' ng-model='twi$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <input type='number' ng-model='core$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <span>{{ ????? }}</span>
                    </td>




                    <!--ACCESSORIES-->
                    <td>
                        <input type='number' ng-model='accUnits$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <input type='number' ng-model='acc$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <span>{{ ????? }}</span>
                    </td>



                    <!--PPP-->
                    <td>
                        <input type='number' ng-model='pppUnits$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <input type='number' ng-model='ppp$i' ng-disabled='!checked$i'>
                    </td>
                    <td>
                        <span>{{ ????? }}</span>
                    </td>
                </tr>"; 
              $i++; 
            }
        ?>
      </tbody>
    </table>
  </div>
</body>

</html>

销售跟踪
编辑
日期
核心
行政协调会
购买力平价
TWI
实际的
MTD
单位
实际的
MTD
单位
实际的
MTD

使用库进行此操作似乎有些过分:

var elements = document.querySelectorAll('input[ng-model^="core"]');
var total = 0;
for (var i = 0; i < elements.length; i++) {
    total += parseInt(elements[i].value);
}
var elements=document.querySelectorAll('input[ng model^=“core”]”);
var合计=0;
对于(var i=0;i
我将向所有
核心元素添加一个公共类:

<input type='number' ng-model='core$i' ng-disabled='!checked$i' class='sum_this'>
然后:


你是说实时填充元素的总和?这需要Javascript,因为它是一个接口(客户端),PHP在服务器端工作。是的,我知道,PHP只是用来循环和创建多行。我不知道如何使用Javascript找到总和。今天是12号,共有12行,它们被标记为“core1,core2,core3…,Core12”。使用JS添加所有这些元素的最简单方法是什么?它在span元素中显示NaN。我将总数更改为$scope.total。我做错什么了吗?
function do_sum() {
    var elements = document.getElementsByClass('sum_this');
    var total_elements = elements.length;
    var total = 0.0;

    for (var i = 0; i < total_elements; i++) {
        total += parseFloat(elements[i].value);
    }

    alert('The total sum is: ' + total); // Or do something like setting an input value to this
}
<input type='number' ng-model='twi$i' ng-disabled='!checked$i' class='watch_this'> <!-- Assuming you want to watch events on this element -->
function watch_events() {
    var elements = document.getElementsByClass('watch_this');
    var total_elements = elements.length;

    for (var i = 0; i < total_elements; i++) {
        elements[i].onkeyup = do_sum; // Assign the do_sum() function as an event listener
    }
}
// When the DOM content is loaded, call watch_events()
document.addEventListener('DOMContentLoaded', watch_events, false);