删除 phpgrid 行后更改文本框值

Change text box value after deleting phpgrid row

我需要在删除 phpgrid (phpgrid.org) 行后刷新小计 div/text 框值。

删除前:

删除第二行后:

<div id="sub_total_div">
<input name="txtSubTotal" type="text" id="txtSubTotal" size="15" value="<?php 
$sql=mysqli_query($connection,'select sum(amount) from sales_temp');
$row = mysqli_fetch_array($sql);
echo $row[0];
?>"/>
</div>

请帮助我。

编辑代码:

function submitdata() {
              var listItemName  = document.getElementById("listItemName").value;
              var listStock = document.getElementById("listStock").value;
              var txtUnitPrice = document.getElementById("txtUnitPrice").value;
              var txtQuantity = document.getElementById("txtQuantity").value;
              var listCustomer = document.getElementById("listCustomer").value;
              var txtReceiptNo = document.getElementById("txtReceiptNo").value;
              var TheDate = document.getElementById("TheDate").value;

              // Returns successful data submission message when the entered information is stored in database.
              var dataString = {listItemName:listItemName, listStock: listStock, txtUnitPrice: txtUnitPrice, txtQuantity: txtQuantity, listCustomer: listCustomer, txtReceiptNo: txtReceiptNo};
              if (listItemName == '' || listStock == ''|| txtUnitPrice == ''|| txtQuantity == ''|| listCustomer == ''|| txtReceiptNo == ''|| TheDate == '') {
              salesitemsAddFail();
              } 
              else {
                         // AJAX code to submit form.
                         $.ajax({
                         type: "POST",
                         url: "/pms/includes/functions/sales_temp_functions.php",
                         data: dataString,
                         cache: false,
                         success: function(html) {    

              //reload the sales datagrid once add the item details to temporary table (sales_temp)
              $('#list').trigger("reloadGrid",[{page:1}]);
                 //window.location.reload();
                 //refresh/update the sub total value when adding
                 $("#sub_total_div").load(location.href + " #sub_total_div");
                         }
                         });
                     }
         }

创建一个新的 php 文件: Gettotal.php

$sql=mysqli_query($connection,'select sum(amount) from sales_temp');
$row = mysqli_fetch_array($sql);
echo $row[0];

你的js代码会是:

        submitdata() {
                      var listItemName  = document.getElementById("listItemName").value;
                      var listStock = document.getElementById("listStock").value;
                      var txtUnitPrice = document.getElementById("txtUnitPrice").value;
                      var txtQuantity = document.getElementById("txtQuantity").value;
                      var listCustomer = document.getElementById("listCustomer").value;
                      var txtReceiptNo = document.getElementById("txtReceiptNo").value;
                      var TheDate = document.getElementById("TheDate").value;

                      // Returns successful data submission message when the entered information is stored in database.
                      var dataString = {listItemName:listItemName, listStock: listStock, txtUnitPrice: txtUnitPrice, txtQuantity: txtQuantity, listCustomer: listCustomer, txtReceiptNo: txtReceiptNo};
                      if (listItemName == '' || listStock == ''|| txtUnitPrice == ''|| txtQuantity == ''|| listCustomer == ''|| txtReceiptNo == ''|| TheDate == '') {
                      salesitemsAddFail();
                      } 
                      else {
                                 // AJAX code to submit form.
                                 $.ajax({
                                 type: "POST",
                                 url: "/pms/includes/functions/sales_temp_functions.php",
                                 data: dataString,
                                 cache: false,
                                 success: function(html) {  
                                 //reload the sales datagrid once add the item details to temporary table (sales_temp)
                                 $('#list').trigger("reloadGrid",[{page:1}]);  
                                 //Ajax call to get the sub
                                $("#sub_total_div").load("gettotal.php");

                             }
                           });
                         }
                 }

注意:这不是合适的方法,但在你的情况下这会起作用

我找到了解决方案,添加了 do_onload(id) 来计算每次刷新后(也包括删除后)触发的 loadComplete 事件的总数

function do_onload(id)
{
    //alert('Simulating, data on load event')

    var s = $("#list").jqGrid('getCol', 'amount', false, 'sum');
    jQuery("#txtSubTotal").val(s);
}

并相应地更改了 phpgrid 代码。

$opt["loadComplete"] = "function(ids) { do_onload(ids); }";
$grid->set_options($opt);

我找到了解决方案,添加了 do_onload(id) 来计算每次刷新后(也包括删除后)触发的 loadComplete 事件的总数

function do_onload(id)
{
//alert('Simulating, data on load event')

var s = $("#list").jqGrid('getCol', 'amount', false, 'sum');
jQuery("#txtSubTotal").val(s);
}

并相应地更改了 phpgrid 代码。

$opt["loadComplete"] = "function(ids) { do_onload(ids); }";
$grid->set_options($opt);