我想通过获取价格来遍历html不起作用

时间:2020-06-09 03:11:26

标签: php html jquery

我正在尝试使用jquery循环使用此文本框的“ id”来获取我选择时的商品价格。但是由于'+ count +',所以不知道该怎么做。这是代码:

Blockquote

      <form method="post" id="invoice_form">
    <div class="table-responsive">
      <table class="table table-bordered">
     <tr>
      <td colspan="2" align="center"><h2 style="margin-top:10.5px">Create Invoice</h2></td>
      </tr>
      <tr>
      <td colspan="2">
      <div class="row">
     <div class="col-md-8">
      To,<br />
       <b>RECEIVER (BILL TO)</b><br />
       <input type="text" name="order_receiver_name" id="order_receiver_name" class="form-control input-sm" 
        placeholder="Enter Receiver Name" />
        <textarea name="order_receiver_address" id="order_receiver_address" class="form-control" 
        placeholder="Enter Billing Address"></textarea>
        </div>
       <div class="col-md-4">
        Reverse Charge<br />
       <input type="text" name="order_no" id="order_no" class="form-control input-sm" placeholder="Enter 
       Invoice No." />
       <input type="text" name="order_date" id="order_date" class="form-control input-sm" readonly 
       placeholder="Select Invoice Date" />
       </div>
       </div>
        <br />
        <table id="invoice-item-table" class="table table-bordered">
        <tr>
        <th width="7%">Sr No.</th>
        <th width="20%">Item Name</th>
        <th width="5%">Quantity</th>
        <th width="5%">Price</th>
        <th width="10%">Actual Amt.</th>
        <th width="12.5%" colspan="2">Tax1 (%)</th>
       <th width="12.5%" colspan="2">Tax2 (%)</th>
       <th width="12.5%" colspan="2">Tax3 (%)</th>
       <th width="12.5%" rowspan="2">Total</th>
       <th width="3%" rowspan="2"></th>
       </tr>
        <tr>             
       <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th>Rate</th>
         <th>Amt.</th>
          <th>Rate</th>
          <th>Amt.</th>
          <th>Rate</th>
          <th>Amt.</th>
           </tr>
      <tr>
      <td><span id="sr_no">1</span></td>
     <td><select input type="text" name="item_name[]" id="item_name1"  class="form-control input-sm 
      item_name"><option>Select Products</option>
      <?php
        include('db.php');
    $sql = mysql_query("SELECT * FROM tbl_product");
    while ($row = mysql_fetch_array($sql)){
     echo "<option data-price=".$row['Price'].">".$row['Product']."</option>";
      }
 ?> 
     </select>
     </td>
     <td><input type="text" name="order_item_quantity[]" id="order_item_quantity1" data-srno="1" class="form- 
      control input-sm order_item_quantity" /></td>
       <td><input type="text" name="order_item_price[]" id="order_item_price1" data-srno="1" class="form- 
       control input-sm number_only order_item_price" /></td>
        <td><input type="text" name="order_item_actual_amount[]" id="order_item_actual_amount1" data- 
        srno="1" class="form-control input-sm order_item_actual_amount" readonly /></td>
        <td><input type="text" name="order_item_tax1_rate[]" id="order_item_tax1_rate1" data-srno="1" 
        class="form-control input-sm number_only order_item_tax1_rate" /></td>
        <td><input type="text" name="order_item_tax1_amount[]" id="order_item_tax1_amount1" data-srno="1" 
        readonly class="form-control input-sm order_item_tax1_amount" /></td>
        <td><input type="text" name="order_item_tax2_rate[]" id="order_item_tax2_rate1" data-srno="1" 
        class="form-control input-sm number_only order_item_tax2_rate" /></td>
       <td><input type="text" name="order_item_tax2_amount[]" id="order_item_tax2_amount1" data-srno="1" 
        readonly class="form-control input-sm order_item_tax2_amount" /></td>
        <td><input type="text" name="order_item_tax3_rate[]" id="order_item_tax3_rate1" data-srno="1" 
        class="form-control input-sm number_only order_item_tax3_rate" /></td>
       <td><input type="text" name="order_item_tax3_amount[]" id="order_item_tax3_amount1" data-srno="1" 
        readonly class="form-control input-sm order_item_tax3_amount" /></td>
        <td><input type="text" name="order_item_final_amount[]" id="order_item_final_amount1" data-srno="1" 
        readonly class="form-control input-sm order_item_final_amount" /></td>
        <td></td>
         </tr>
         </table>
         <div align="right">
         <button type="button" name="add_row" id="add_row" class="btn btn-success btn-xs">+</button>
         </div>
         </td>
         </tr>
          <tr>
           <td align="right"><b>Total</td>
          <td align="right"><b><span id="final_total_amt"></span></b></td>
          </tr>
          <tr>
         <td colspan="2"></td>
          </tr>
          <tr>
          <td colspan="2" align="center">
           <input type="hidden" name="total_item" id="total_item" value="1" />
          <input type="submit" name="create_invoice" id="create_invoice" class="btn btn-info" value="Create" />
          </td>
          </tr>
          </table>
           </div>
          </form>

这是循环显示商品和价格的jquery代码。

  $(function(){

       $('#invoice_form').on('click', function(){                                
       var count = $(this).find('option:selected').attr('data-price');
      var row_id = $(this).attr("id");
           $('#order_item_price'+row_id).val(row_id );
          $('#order_item_price1').val(count).append(html_code);
  })
 });

  $(document).ready(function(){
    var final_total_amt = $('#final_total_amt').text();
    var count = 1;

    $(document).on('click', '#add_row', function(){
      count++;
      $('#total_item').val(count);
      var html_code = '';
      html_code += '<tr id="row_id_'+count+'">';
      html_code += '<td><span id="sr_no">'+count+'</span></td>';
      html_code += '<td><select input type="text" name="item_name[]" id="item_name'+count+'" class="form- 
      control input-sm item_name"><option>Select Products</option>
      <?php 
    $r = mysql_query("select * from tbl_product"); 
            while($row = mysql_fetch_array($r)){
            echo '<option data-price='.$row["Price"].'>'.$row["Product"].'</option>';
        } 
   ?>
        </select>
       </td>';
       html_code += '<td><input type="text" name="order_item_quantity[]" id="order_item_quantity'+count+'" 
       data-srno="'+count+'" class="form-control input-sm number_only order_item_quantity" /></td>';
       html_code += '<td><input type="text" name="order_item_price[]" id="order_item_price'+count+'" data- 
       srno="'+count+'" class="form-control input-sm number_only order_item_price" /></td>';
      html_code += '<td><input type="text" name="order_item_actual_amount[]" 
      id="order_item_actual_amount'+count+'" data-srno="'+count+'" class="form-control input-sm 
      order_item_actual_amount" readonly /></td>';       
      html_code += '<td><input type="text" name="order_item_tax1_rate[]" id="order_item_tax1_rate'+count+'" 
      data-srno="'+count+'" class="form-control input-sm number_only order_item_tax1_rate" /></td>';
      html_code += '<td><input type="text" name="order_item_tax1_amount[]" 
      id="order_item_tax1_amount'+count+'" data-srno="'+count+'" readonly class="form-control input-sm 
       order_item_tax1_amount" /></td>';
      html_code += '<td><input type="text" name="order_item_tax2_rate[]" id="order_item_tax2_rate'+count+'" 
      data-srno="'+count+'" class="form-control input-sm number_only order_item_tax2_rate" /></td>';
      html_code += '<td><input type="text" name="order_item_tax2_amount[]" 
       id="order_item_tax2_amount'+count+'" data-srno="'+count+'" readonly class="form-control input-sm 
       order_item_tax2_amount" /></td>';
      html_code += '<td><input type="text" name="order_item_tax3_rate[]" id="order_item_tax3_rate'+count+'" 
      data-srno="'+count+'" class="form-control input-sm number_only order_item_tax3_rate" /></td>';
      html_code += '<td><input type="text" name="order_item_tax3_amount[]" 
      id="order_item_tax3_amount'+count+'" data-srno="'+count+'" readonly class="form-control input-sm 
      order_item_tax3_amount" /></td>';
      html_code += '<td><input type="text" name="order_item_final_amount[]" 
      id="order_item_final_amount'+count+'" data-srno="'+count+'" readonly class="form-control input-sm 
      order_item_final_amount" /></td>';
      html_code += '<td><button type="button" name="remove_row" id="'+count+'" class="btn btn-danger btn-xs 
      remove_row">X</button></td>';
      html_code += '</tr>';
      $('#invoice-item-table').append(html_code);
    });
      $(document).on('click', '.remove_row', function(){
      var row_id = $(this).attr("id");
      var total_item_amount = $('#order_item_final_amount'+row_id).val();
      var final_amount = $('#final_total_amt').text();
      var result_amount = parseFloat(final_amount) - parseFloat(total_item_amount);
      $('#final_total_amt').text(result_amount);
      $('#row_id_'+row_id).remove();
      count--;
      $('#total_item').val(count);
    });

    function cal_final_total(count)
    {
      var final_item_total = 0;
      for(j=1; j<=count; j++)
      {
        var quantity = 0;
        var price = 0;
        var actual_amount = 0;
        var tax1_rate = 0;
        var tax1_amount = 0;
        var tax2_rate = 0;
        var tax2_amount = 0;
        var tax3_rate = 0;
        var tax3_amount = 0;
        var item_total = 0;
        quantity = $('#order_item_quantity'+j).val();
        if(quantity > 0)
        {
          price = $('#order_item_price'+j).val();
          if(price > 0)
          {
            actual_amount = parseFloat(quantity) * parseFloat(price);
            $('#order_item_actual_amount'+j).val(actual_amount);
            tax1_rate = $('#order_item_tax1_rate'+j).val();
            if(tax1_rate > 0)
            {
              tax1_amount = parseFloat(actual_amount)*parseFloat(tax1_rate)/100;
              $('#order_item_tax1_amount'+j).val(tax1_amount);
            }
            tax2_rate = $('#order_item_tax2_rate'+j).val();
            if(tax2_rate > 0)
            {
              tax2_amount = parseFloat(actual_amount)*parseFloat(tax2_rate)/100;
              $('#order_item_tax2_amount'+j).val(tax2_amount);
            }
            tax3_rate = $('#order_item_tax3_rate'+j).val();
            if(tax3_rate > 0)
            {
              tax3_amount = parseFloat(actual_amount)*parseFloat(tax3_rate)/100;
              $('#order_item_tax3_amount'+j).val(tax3_amount);
            }
            item_total = parseFloat(actual_amount) + parseFloat(tax1_amount) + parseFloat(tax2_amount) + 
             parseFloat(tax3_amount);
            final_item_total = parseFloat(final_item_total) + parseFloat(item_total);
            $('#order_item_final_amount'+j).val(item_total);
          }
        }
        }
         $('#final_total_amt').text(final_item_total);
        }

         $(document).on('blur', '.order_item_price', function(){
          cal_final_total(count);
        });

当我从下拉列表中选择项目时,我希望它工作,价格应自动显示在价格文本框中。但是,当我从下拉列表中选择商品时,只有上方的第一个输入文本框显示价格。正在循环播放的另一个输入文本框未显示价格。

0 个答案:

没有答案