如何使用ajax请求在输入标签上打印json?

时间:2019-03-23 16:04:12

标签: php ajax

我的页面上有多个文本框。如果我在文本框中输入一个值并且该值在我的数据库中,则另一个文本框将从数据库中获取该值。我发现ajax适合此功能。我已经从数据库中获取了数据。问题是我无法将值放在文本框中。

我尝试了多种方法将值放在文本框中,但都失败了。我尝试过的一些代码:

function barcode_load(count){
    for(num=1;num<=count;num++){
        var barcode = $("#barcode"+num).val();
        $.ajax({
            url: "../delivery/loadbarcode.php",
            data : {
                barcode:barcode
            },
            method : "POST",
            dataType: "json",
            success :function(data){
                    $('#product_name'+num).val(data['product_name']);
                    $('#quantity'+num).val(x.quantity);
                    $('#buy_price'+num).val(x.buy_price);
                    $('#unit'+num).val(x.unit);
                    $('#tax_rate'+num).val(x.tax_rate);
                    $('#min_qty'+num).val(x.min_stocks);
                    $('#sell_price'+num).val(x.sell_price);
            }
        });
    }

}

这是我的PHP文件:

<?php
include('../server/connection.php');


$code   = mysqli_real_escape_string($db, $_POST['barcode']);    
$show   = "SELECT * FROM products,product_delivered WHERE products.product_no ='$code' AND product_delivered.product_id ='$code'";
$result = mysqli_query($db,$show);

$row = json_encode(mysqli_fetch_assoc($result));
echo $row;

这是我的js文件:

$(document).ready(function(){
//some code here 

function barcode_load(count){
    for(num=1;num<=count;num++){
        var barcode = $("#barcode"+num).val();
        $.ajax({
            url: "../delivery/loadbarcode.php",
            data : {
                barcode:barcode
            },
            method : "POST",
            dataType: "json",
            success :function(data){
            for( x in data){
                $('#product_name'+num).val(data['product_name']);
                    $('#quantity'+num).val(x.quantity);
                    $('#buy_price'+num).val(x.buy_price);
                    $('#unit'+num).val(x.unit);
                    $('#tax_rate'+num).val(x.tax_rate);
                    $('#min_qty'+num).val(x.min_stocks);
                    $('#sell_price'+num).val(x.sell_price);
            }
        });
    }
       }

}


$(document).on('change', '.barcode', function(){
    barcode_load(count);
     });
 });

我期望我从ajax获得的数据将被放在文本框中。希望有人能帮助我。

enter image description here

0 个答案:

没有答案