Не получает значения «Количество» и «Общее количество»

#jquery #asp.net #sql-server #asp.net-mvc

#jquery #asp.net #sql-сервер #asp.net-mvc

Вопрос:

Я вставляю данные таблицы в моем представлении в две таблицы базы данных, то есть «продажи» и «saleitems». Я получаю все значения из таблицы, кроме «Количества» и «Общего итога». В quantity у меня есть кнопки начальной загрузки «Плюс и минус», чтобы я мог увеличивать или уменьшать количество. Я хочу получить это значение количества в реальном времени. Как я могу получить значения?

Вот мой код просмотра

 
<table id="table" class="table">
                <thead>
                    <tr>
                        <th scope="col">Product Id</th>
                        <th scope="col">Company</th>
                        <th scope="col">Product Name</th>
                        <th scope="col">User Name</th>
                        <th scope="col">User Mobile</th>
                        <th scope="col">Price per product</th>
                        <th scope="col">Quantity</th>
                        <th scope="col">Total Price</th>
                    </tr>
                </thead>
                <tbody></tbody>
                <tfoot><tr><td colspan="2">Grand Total : </td><td id="GrandTotal"></td></tr></tfoot>
            </table>
        </div>
    </div>


    <div class="savebutton" >
        <input type="button" id="btnSave" value="Save All"/>
    </div>
</div>

<script>
        $('#productSelect').change(function () {
            var id = $(this).val();

            if (id > 0) {
                $.get("GetProduct", { productId: id }, function (result) {
                    console.log(result)
                    $("tbody").append("<tr><td>"   result.ProductId   "</td><td>"   result.CompanyName   "</td><td>"   result.ProductName   "</td><td>"   result.UserName   "</td><td>"   result.UserMobile   "</td><td>"   result.ProductPrice   "</td><td><button type='button' class='btn btn-primary' onClick='subtract("   id   ","   result.ProductPrice   ")'>-</button><button type='button' class='btn btn-dark'  id='"   id   "' value='0'>0</button><button type='button' class='btn btn-primary' onClick='add("   id   ","   result.ProductPrice   ")'> </button></td><td id='sum"   id   "'>0</td><td><a onclick='removeRow(this)'>x</a></td></tr>")
                      CalculateGrandTotal();
                    
                });
            }
        })
 $("body").on("click", "#btnSave", function () {
        //Loop through the Table rows and build a JSON array.
        var sales = new Array();
        var saleitems = new Array();
        $(".table tbody tr").each(function () {
            var row = $(this);
            var Sale = {};
            var SaleItem = {};
            
            Sale.UserName = row.find("td").eq(3).html();
            Sale.UserMobile = row.find("td").eq(4).html();
            Sale.NetTotal = row.find("td").eq(8).html();
            
            sales.push(Sale);

            
            SaleItem.ProductId = row.find("td").eq(0).html();
            SaleItem.ProductName = row.find("td").eq(2).html();
            SaleItem.ProductQuantity = row.find("td").eq(7).val();
            saleitems.push(SaleItem);
        });


        var model = { sales:sales , saleitems:saleitems };
        //Send the JSON array to Controller using AJAX.
        $.ajax({
            type: "POST",
            url: "/Product/Insertsales",
            data: JSON.stringify(model),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                alert(r   " records inserted.");
            }
        });
    });

  

И вот мой код контроллера

 public JsonResult InsertSales(List<Sale> sales , List<SaleItem> saleitems)
        {
            using (sampledb6Entities sampledb6Entities = new sampledb6Entities())
            {
                //Truncate Table to delete all old records.
                //sampledb6Entities.Database.ExecuteSqlCommand("TRUNCATE TABLE [Sales]");

                //Check for NULL.
                if (sales == null)
                {
                     sales = new List<Sale>();
                     
                }

                //Loop and insert records.
                foreach (Sale sale in sales)
                {
                    sampledb6Entities.Sales.Add(sale);
                    sampledb6Entities.SaveChanges();
                }

                //Check for NULL.
               
                
               
                if (saleitems == null)
                {
                    saleitems = new List<SaleItem>();

                }
                var SaleIds = sales.Select(x => x.SaleId).ToList();
                int Counter = 0;
                foreach (SaleItem saleitem in saleitems)
                {

                    SaleItem si = new SaleItem();
                    si.SaleId = SaleIds[Counter];
                    si.ProductName = saleitem.ProductName;
                    si.ProductQuantity = saleitem.ProductQuantity;
                    si.ProductId = saleitem.ProductId;
                    sampledb6Entities.SaleItems.Add(saleitem);
                    Counter  ;
                   
                }
                int insertedRecords = sampledb6Entities.SaveChanges();
                return Json(insertedRecords);
            }
        }
  

Комментарии:

1. Просто заметил, что вы не показываете количество в $(«tbody»).append(…), Поэтому, возможно, не получаете его в своем SaleItem. Количество продукта.

2. @MukeshModhvadiya Да, вы правы. Я разместил кнопки «плюс и минус», чтобы увеличить или уменьшить количество. Вот почему я не показываю его из базы данных. Я хочу, чтобы эта кнопка отображала значение количества.