I create my personal project, and I called this system as ordering system I used laravel for this and the front end javascript and jquery.
I have question
Question:
- I used the append function of jquery to transfer value to other side. so i append input type number which the value automatically equal to 1
The question if I increment the value of input type number how the price double if i increase the value of number?
Example of my output
My Front end Codes:
        var tbody = $('#myTable').children('tbody');
        //Then if no tbody just select your table 
        var table = tbody.length ? tbody : $('#myTable');
        //my logic to increment quantity but not working.
        $("#qty_change").bind('keyup mouseup', function () {
            alert("changed");            
        });
        //function for getting the data from search product by clicking to the table row
        $("tr#productClicked").click(function () {
            //to get the price in tr
            var price = $(this).closest("tr").find(".menu_price").text();
            //to get the menu in tr
            var menu_name = $(this).closest("tr").find(".menu_name").text();
            //row count
            var rowCount = $('table#myTable tr:last').index() + 1;
            //append input to quantity the value is 1
            var input = '<input type="number" name="qty_number" class="form-control" value="1" id="qty_change" />';
            //Item must be editable
            var contenteditable = 'contenteditable=true';
            table.append('<tr><td>'+rowCount+'</td><td class="total">'+input+'</td><td '+contenteditable+'>'+menu_name+'</td><td>'+price+'</td><td>'+price+'</td></tr>');
        });
Html Table:
 <table class="table table-hover" id="myTable">
<thead>
<tr style="font-size: 14px; ">
    <th scope="col">#</th>
    <th scope="col">Qty</th>
    <th scope="col">Item</th>
    <th scope="col" style="text-align: right">Cost</th>
    <th scope="col" style="text-align: right">Total</th>
</tr>
</thead>
<tbody style="font-size:14px;">                 
<tr>
    {{-- <td>1</td>
    <td>x 2</td>
    <td contenteditable='true'>Feast Chicken</td>
    <td align="right">$10.00</td>
    <td align="right">$20.00</td> --}}
</tr>
</tbody>
</table>
New update:
$('.amount > input[type="number"]').on('input', updateTotal);
        function updateTotal(e){
          var value = e.target.value;
          // Don't do anything if value is not valid
          // else you will see NaN in result.
          if (!value || value < 0)
            return;
          var $parentRow = $(e.target).parent().parent();
          var $siblingTotal = $parentRow.find('.total');
          var $siblingCost = $parentRow.find('.cost');
          var cost = $siblingCost.text();
          // parseInt and parseFloat because
          // `value` and `cost` are strings.
          value = parseInt(value);
          cost = parseFloat(cost);
          $siblingTotal.text(value * cost);
        }
$("tr#productClicked").click(function () {
            swal({
              title: "Are you sure?",
              text: "Once you will add it will automatically send to the cart",
              icon: "warning",
              buttons: true,
              dangerMode: true,
            })
            .then((willDelete) => {
              if (willDelete) {
                    swal("Poof! Your imaginary file has been deleted!", {
                      icon: "success",
                    });
                    swal("Menu Added", "You clicked the button!", "success");
                    //to get the price in tr
                    var price = $(this).closest("tr").find(".menu_price").text();
                    //to get the menu in tr
                    var menu_name = $(this).closest("tr").find(".menu_name").text();
                    //row count
                    var rowCount = $('table#myTable tr:last').index() + 1;
                    //append input to quantity the value is 1
                    var input = '<input type="number" value="1">';
                    //Item must be editable
                    var contenteditable = 'contenteditable=true';
                    table.append('<tr><td>'+rowCount+'</td><td class="amount">'+input+'</td><td '+contenteditable+'>'+menu_name+'</td><td class="cost">'+price+'</td><td class="total">'+price+'</td></tr>');
              } else {
                swal("Cancelled");
              }
            });
        });

 
    