От значения и ключа, Как получить ключ и сделать умножение цены и количества? - PullRequest
0 голосов
/ 07 апреля 2020

Когда я выбираю категорию, тогда в окне выбора отображается цена, но когда я помещаю значение в поле количества, тогда оно кратно значению и количеству цены и показывает итоговое значение, но в котором при достижении итога получается идентификатор цены и количества умножается на идентификатор .. Я хочу, чтобы умножение количества и цены не на значение цены ... затем как я могу ???

Javascript для выбора значения цены из подкатегорий

<script src="{{ asset('js/jquery.min.js') }}"></script>
<script type="text/javascript">
    // now change price..........
     $(document).ready(function() 
     {    
         $('select#subcategory').on('change', function() {
            if(subID = $(this).val()) 
            {
                $.ajax({
                        url: "{{url('/')}}" + '/Purchaser/add_purchaser/ajax/' + subID,
                        type: "GET",
                        dataType: "json",
                        success: function(data)
                        {
                            console.log(data);
                             $('select#productprice').empty();
                             $.each(data, function(key, value)
                             {
                                   var option = new Option(value, key);
                                   $(option).html(value);
                                   // $(option).html(value);
                                   $('select#productprice').append(option);
                             });
                        }
                    });
            }else{
                $('select#productprice').empty();
            }
         });
    }); 
    </script>

javascript для получения всего

<script type="text/javascript">
$('tbody').delegate('#price,#quantity','keyup',function(){
  var tr = $(this).parent().parent();
  var price = tr.find('#productprice').val();
  var quantity = tr.find('#quantity').val();
  var total = (price * quantity);
  tr.find('#total').val(total);
});
</script>

Html file

<tbody>
   <tr>
      <td>
         <select class="form-control" name="cat_id[]" id="category">
             <option value="" disabled selected>Select Category</option>
                @foreach($category as $key)
                    <option value="{{ $key->id }}">{{ $key->cat_nm }}</option>
                @endforeach
         </select>
      </td>
      <td>
        <select class="form-control" id="subcategory" name="sub_cat_id[]">
          <option value="" disabled selected>Subcategory from category</option>
        </select>
     </td>
     <td>
       <select class="form-control" id="productprice" name="price_id[]">  
           <option>Price from subcategory</option>                                     
        </select>
     </td>
     <td>
        <input type="text" class="form-control" name="quantity[]" id="quantity">
      </td>
      <td>
         <input type="text" class="form-control" name="total[]" id="total">
       </td>
       <td>
          <a href="#" class="btn btn-danger" id="remove"><i class="fa fa-remove"></i></a>
        </td>
        </tr>
</tbody>

enter image description here

enter image description here

1 Ответ

0 голосов
/ 08 апреля 2020

используйте переменную цена = $ ("опция #productprice: selected") .text (); insted of var цена = tr.find ('# productprice'). val (); как ниже сценарий ....

 <script type="text/javascript">
      $('tbody').delegate('#price,#quantity','keyup',function(){
        var tr = $(this).parent().parent();
        var price = $( "#productprice option:selected" ).text();
        // var price = tr.find('#productprice').val();
        var quantity = tr.find('#quantity').val();
        var total = (price * quantity);
        tr.find('#total').val(total);
      });
</script>
...