2014-04-12 4 views
11

Ich arbeite an diesem Projekt, wo ich jQuery Autocomplete verwenden, um Suchergebnisse aus einer MySQL-Datenbank anzuzeigen. Die Suchergebnisse sind Produktnamen, die aus einer Datenbank abgerufen werden, die auch Produktbilder enthält. Wie könnte ich die Produktbilder wie im Bild unten anzeigen?Integrieren von Bild mit jQuery AutoComplete

enter image description here

Hier ist meine jQuery Auto-Vervollständigen-Seite:

<script> 
$("#birds").autocomplete({ 
     source: "search.php", 
     minLength: 2, 
     select: function(event, ui) { 


     log(ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.label : 
      "Nothing selected, input was " + this.actor); 
     window.location.href = './products/' + ui.item.productid; 
     //window.location.href = 'product_display.php?id=' + ui.item.value; 
     // document.testForm.action = "pretravel.php?id="+ui.item.value; 
     //document.testForm.submit(); 
     } 
    }); 
    }); 
</script> 

search.php

<?php 
include 'dbconnector.php'; 

// Sanitise GET var 
if(isset($_GET['term'])) 
{ 
$term = mysql_real_escape_string($_GET['term']); 
// Add WHERE clause 
//$term="Apple"; 
$query = "SELECT `productid`, `productname` FROM `products` WHERE `productname` LIKE '%".$term."%' ORDER BY `productid`"; 


$result = mysql_query($query,$db) or die (mysql_error($db)); 
$id=0; 
$return=array(); 
while($row = mysql_fetch_array($result)){ 

    //array_push($return,array('label'=>$row['productid'],'actor'=>$row['productname'])); 
    //array_push($return,array('value'=>$row['productid'],'label'=>$row['productname'])); 
    //array_push($return,array('actor'=>$row['productname'],'label'=>$row['productid'])); 
    array_push($return,array('productid'=>$row['productid'],'label'=>$row['productname'])); 

} 

header('Content-type: application/json'); 
echo json_encode($return); 
//var_dump($return); 

exit(); // AJAX call, we don't want anything carrying on here 
} 
else 
{ 
    header('Location:index'); 
} 

?> 

Antwort

10

Es gibt eine Methode namens _renderItem, die Sie verwenden wollen würde.

Hier ist eine kleine Demo davon in Gebrauch: http://jsbin.com/cunuxaqe/2/edit

+1

Könnten Sie bitte eine Erklärung dafür geben? – NetStack

+0

Ich habe meine Antwort mit einer Demo aktualisiert. –

+0

Ich habe Ihren Code nach meinen Bedürfnissen bearbeitet, aber diesen Fehler erhalten. TypeError: $ products.data (...) ist undefined Können Sie mir sagen, was könnte der mögliche Grund sein? – Moax6629