我有一个销售发票,我想动态生成行项目。 我想要一个产品代码的自动完整功能,填写产品名称。
产品代码在购买发票中生成。
问题是只有动态表的第一行正在运行。
我的代码如下:
<?php $query ="select product_code_sku,product_name from pur_line_item pli inner join product_code pc on pli.p_line_item_id = pc.p_line_item_id ";
$result = mysqli_query($conn, $query) or die (mysqli_error($conn));
$given_themes = array();
while ($row = mysqli_fetch_array($result)) {
//array_push($given_themes, $row);
$given_themes[] = $row;
}
$toJSON = array();
foreach($given_themes as $num => $val){
$toJSON[$num]['label'] = $val['product_code_sku'];
$toJSON[$num]['value'] = $val['product_name'];
}
$array_final = json_encode($toJSON);
$array_final = preg_replace('/"([a-zA-Z_]+[a-zA-Z0-9_]*)":/','$1:',$array_final);
//print_r($array_final);
//echo json_encode($toJSON);
//echo implode(',',$given_themes);
//print_r($given_themes);
// $gt = json_encode($given_themes);
// print_r($gt);
?>
<script>
function complete(){
// $(document).ready(function(){
// alert('start');
$(function(){
//alert('start');
var availableTags = <?php echo $array_final;?>;
//alert(availableTags);
$( "#product_code_sku" ).autocomplete({
minLength: 0,
source: availableTags,
focus: function( event, ui ) {
// alert(ui.item.product_code_sku);
$( "#product_code_sku" ).val( ui.item.label);
return false;
},
select: function( event, ui ) {
$( "#product_code_sku" ).val( ui.item.label );
$( "#product_name" ).val( ui.item.value);
// $( "#product_name" ).html( ui.item.product_name );
//$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
return false;
}
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.value + "</a>" )
.appendTo( ul );
};
});
//});
}
</script>