使用jQuery ajax显示输出后,使用PHP post方法不会传递值

时间:2019-02-27 03:13:56

标签: php jquery mysql ajax

嗨,我尝试使用AJAX对两个数据求和并将其显示为隐藏文本输入,之后,我将使用PHP post方法传递变量。

我的jQuery AJAX代码没有问题,但是问题是在我提交按钮之后,我从文本框total_rec[]中检索到的值是空白。

下面是我的代码。

HTML:

<form method="post" action="<?php echo base_url() ?>user/recitem_insert"> 
<table>
<thead>
<tr><th>Test</th></tr></thead> 
<tbody> 
<tr><td>
<input type="hidden" name="last_item_rec[]" value="<?php echo $row->rec_qty; ?>">
<input type="text" name="item_rec[]" id="txt" disabled="">
<input type="hidden" name="total_rec[]" value="">
</td><tr>
</tbody>
</table>   
</form>

JQUERY AJAX:

<script>
$(document).ready(function(){
    $("input[name=item_rec\\[\\]]").on('keyup',function(){
        var one = $(this).parents('tr').find('input[name=last_item_rec\\[\\]]').val();
        var two = $(this).parents('tr').find('input[name=item_rec\\[\\]]').val();       

        sum =  parseInt(one) + parseInt(two);

        $(this).parents('tr').find('input[name=total_rec\\[\\]]').val(sum);        
    });
});
<script>

PHP代码:(recitem_insert.php

$total_rec = $_POST['total_rec'];

for($i=0;$i<sizeof($check);$i++){   
    for($j=0;$j<sizeof($total_rec);$j++){
        $query=mysqli_query($con,"UPDATE tblstock 
                             SET             
                             rec_qty='$total_rec[$j]'
                             WHERE id = '$check[$i]'
                             ")or die(mysqli_error($con));  
    }               
}

1 个答案:

答案 0 :(得分:0)

您告诉我们该商品包含2个或更多的价值。因此,您可以使用类代替名称。

HTML

<input type="hidden" class="last_item_rec" name="last_item_rec[]"  value="23" />
<input type="text" class="item_rec" name="item_rec[]"  id="txt" />
<input type="hidden" class="total_rec" name="total_rec[]" value="" />

jQuery

$(function(){
$(".item_rec").on('keyup',function(){
  var one = $(this).parents('tr').find('.last_item_rec').val();
  var two = $(this).parents('tr').find('.item_rec').val(); 
  sum =  parseInt(one) + parseInt(two);
  console.log(sum);

  $(this).parents('tr').find('.total_rec').val(sum);        
});
});