我只在jquery表的第一行获得自动完成功能?

时间:2015-05-01 10:06:31

标签: php jquery

我有一个销售发票,我想动态生成行项目。 我想要一个产品代码的自动完整功能,填写产品名称。

产品代码在购买发票中生成。

问题是只有动态表的第一行正在运行。

我的代码如下:

<?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>

0 个答案:

没有答案