我的页面上有多个文本框。如果我在文本框中输入一个值并且该值在我的数据库中,则另一个文本框将从数据库中获取该值。我发现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获得的数据将被放在文本框中。希望有人能帮助我。