php - Auto populate and generate dynamic row -


i'm creating auto populate text fields database , dynamic add , remove rows. there problem coming in script. when add new row script doesn't work.

this html file.

<link rel="stylesheet" href="css/jquery-ui-1.10.3.custom.min.css" /> <link rel="stylesheet" href="css/bootstrap.min.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>           <script src="js/jquery-1.10.2.min.js"></script>  <script src="js/jquery-ui-1.10.3.custom.min.js"></script> <script src="js/bootstrap.min.js"></script> <body> <script>   $(window).load(function() {     $(".loader").fadeout("fast");   ); </script>  <div class="my-form">     <form name="form" action="demo.php" method="post">         <input type="hidden" value="1" id="rows" name="rows" class="rows"/>         <p class="text-box" id="input_1">      <table><tr>         <td width="180px">item</td>         <td width="180px">description</td>         <td width="180px">price</td>         <td width="180px">quantity</td>         <td>total</td>     </tr></table>       <input type='text' id='item' name='item'/>     <input type='text' id='desc' name='description'/>     <input name="boxa1" id="boxa1" class="boxa" type="text" value="" />     <input name="boxb1" id="boxb1" class="boxb" type="text" value="" />    = <input name="answer1" id="answer1" class="answer" type="text" value="" />        <a class="add-box" href="#"><img src="images/add.png"></a>         </p>         <input type="submit" name="sub" id="sub">         </form>         </div>         grand total: <span class="grandtotal">0.00</span><br/><br/> 

this ajax-php file name(ajax.php). file helps fetch data database without refresh page again , again. work properly

    <?php  require_once 'config.php';  if($_get['type'] == 'product'){     $result = mysql_query("select name product name '".strtoupper($_get['name_startswith'])."%'");       $data = array();     while ($row = mysql_fetch_array($result)) {         array_push($data, $row['name']);         }        echo json_encode($data); }  if($_get['type'] == 'product_table'){     $row_num = $_get['row_num'];     $result = mysql_query("select name, description, cost_price product name '".strtoupper($_get['name_startswith'])."%'");      $data = array();     while ($row = mysql_fetch_array($result)) {         $name = $row['name'].'|'.$row['description'].'|'.$row['cost_price'].'|'.$row_num;         array_push($data, $name);        }         echo json_encode($data); } ?> 

here script file create auto populate text fields.

<script>  // autopopulate  $('#item').autocomplete({                 source: function( request, response ) {                     $.ajax({                         url : 'ajax.php',                         datatype: "json",                         data: {                            name_startswith: request.term,                            type: 'product'                         },                  success: function( data ) {                      response( $.map( data, function( item ) {                         return {                             label: item,                             value: item                          }                     }));                  }             });          },         autofocus: true,         minlength: 0                });         $('#item').autocomplete({     source: function( request, response ) {          $.ajax({             url : 'ajax.php',             datatype: "json",             data: {                 name_startswith: request.term,                type: 'product_table',                row_num : 1              },              success: function( data ) {                  response( $.map( data, function( item ) {                     var code = item.split("|");                     return {                          label: code[0],                         value: code[0],                         data : item                      }                 }));              }         });      }, autofocus: true,             minlength: 0, select: function( event, ui ) {      var names = ui.item.data.split("|");     console.log(names[0], names[1], names[2]);                           $('#item').val(names[0]);     $('#desc').val(names[1]);     $('#boxa1').val(names[2]);     }                  });               // end of autopoplate  

// creating limited textfield

this script creating , remove dynamic rows

  jquery(document).ready(function($){   $('.my-form .add-box').click(function(){         var n = $('.text-box').length + 1;         if( 1000 < n ) {             alert('stop it!');             return false;         }          // adding new rows of textfield       var box_html = $('<p class="text-box" id="input_'+ n +'">  <input type="text" id="item' + n + '" name="item ' + n + '"/>  <input type="text" id="desc' + n + '" name="description' + n + '"/>   <input type="text" name="boxa' + n + '" value="" id="boxa' + n + '" class="boxa" />  <input type="text" name="boxb' + n + '" value="" id="boxb' + n + '" class="boxb" /> = <input name="answer' + n + '" class="answer" id="answer' + n + '"  value="" /> <a href="#" class="remove-box"><img src="images/remove.png"></a></p>');      jquery('#my-form').append(box_html);     box_html.hide();      $('.my-form p.text-box:last').after(box_html);     box_html.fadein('fast'); 

$("#item").autocomplete({source:function(t,a){$.ajax({url:"ajax.php",datatype:"json",data:{name_startswith:t.term,type:"product"},success:function(t){a($.map(t,function(t){return{label:t,value:t}}))}})},autofocus:!0,minlength:0}),$("#item").autocomplete({source:function(t,a){$.ajax({url:"ajax.php",datatype:"json",data:{name_startswith:t.term,type:"product_table",row_num:1},success:function(t){a($.map(t,function(t){var a=t.split("|");return{label:a[0],value:a[0],data:t}}))}})},autofocus:!0,minlength:0,select:function(t,a){var e=a.item.data.split("|");console.log(e[0],e[1],e[2]),$("#item").val(e[0]),$("#desc").val(e[1]),$("#boxa1").val(e[2])}}),jquery(document).ready(function(t){function a(){var a=0;t(".my-form .text-box .answer").each(function(){a+=number(t(this).val())}),t(".grandtotal").text(""),t(".grandtotal").text(a)}t(".my-form .add-box").click(function(){var a=t(".text-box").length+1;if(a>1e3)return alert("stop it!"),!1;var e=t('<p class="text-box" id="input_'+a+'">  <input type="text" id="item'+a+'" name="item '+a+'"/>  <input type="text" id="desc'+a+'" name="description'+a+'"/>   <input type="text" name="boxa'+a+'" value="" id="boxa'+a+'" class="boxa" />  <input type="text" name="boxb'+a+'" value="" id="boxb'+a+'" class="boxb" /> = <input name="answer'+a+'" class="answer" id="answer'+a+'"  value="" /> <a href="#" class="remove-box"><img src="images/remove.png"></a></p>');return jquery("#my-form").append(e),e.hide(),t(".my-form p.text-box:last").after(e),e.fadein("fast"),!1}),t(".my-form").on("click",".remove-box",function(){return t(this).parent().css("background-color",""),t(this).parent().fadeout("fast",function(){t(this).remove(),t(".box-number").each(function(a){t(this).text(a+1)}),a();var e=t("#rows").val();--e,t("#rows").val(e)}),!1}),t(function(){t(".add-box").click(function(){var a=t("#rows").val();++a,t("#rows").val(a)})}),t(".my-form").on("input",".boxb",function(){var e=t(this).val();e*=t(this).siblings(".boxa").val(),t(this).siblings(".answer").val(e),a()}),t(".my-form").on("change",".boxa",function(){var e=t(this).val();e*=t(this).siblings(".boxb").val(),t(this).siblings(".answer").val(e),a()})}); 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

ios - Possible to get UIButton sizeThatFits to work? -