Przerobiłem wyszukiwarkę w oscommerce o opcje podpowiedzi (jQuery (Plugins/Autocomplete)):
http://docs.jquery.com/Plugins/Autocomplete
http://dev.baczyk.net/2009/12/24/jquery-au...ne-podpowiedzi/
Ale mam jeden problem, jak wybieram z podpowiedzi jakąś propozycje do wyszukiwarki to muszę dwa razy klikać enter czyli najpierw wybieram a później raz jeszcze muszę potwierdzić enterem(bo automatycznie do inputa nie wpada). A oczywiście bym chciał by po wyborze automatycznie wyszukiwało bez podwójnego potwierdzenia

index.html
Kod
<script type="text/javascript">
$().ready(function() {
$("#targetDiv").autocomplete("mysql.php", {
width: 560,
scrollHeight: 350,
minChars: 2,
selectFirst: true,
formatItem: function(row, i, max) {
return row[1] + " <b>(nr indeksu: " + row[0] + ")</b>";
},
formatMatch: function(row, i, max) {
return row[1];
},
formatResult: function(row) {
return row[1];
}
});
});
</script>
$().ready(function() {
$("#targetDiv").autocomplete("mysql.php", {
width: 560,
scrollHeight: 350,
minChars: 2,
selectFirst: true,
formatItem: function(row, i, max) {
return row[1] + " <b>(nr indeksu: " + row[0] + ")</b>";
},
formatMatch: function(row, i, max) {
return row[1];
},
formatResult: function(row) {
return row[1];
}
});
});
</script>
mysql.php
Kod
<?php
require('includes/application_top.php');
session_start();
$q = strtolower( $_GET["q"] );
if (!$q) return;
$data = tep_db_query("SELECT products.products_id, products_name, products_model, products_status FROM products INNER JOIN products_description ON (products.products_id = products_description.products_id) WHERE products_status = '1'");
while( $row = mysql_fetch_array( $data )){
if ( strpos( strtolower( $row['products_name'] . $row['products_model'] ), $q ) !== false ) {
echo $row['products_model']."|".$row['products_name']."\n";
}
}
require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
require('includes/application_top.php');
session_start();
$q = strtolower( $_GET["q"] );
if (!$q) return;
$data = tep_db_query("SELECT products.products_id, products_name, products_model, products_status FROM products INNER JOIN products_description ON (products.products_id = products_description.products_id) WHERE products_status = '1'");
while( $row = mysql_fetch_array( $data )){
if ( strpos( strtolower( $row['products_name'] . $row['products_model'] ), $q ) !== false ) {
echo $row['products_model']."|".$row['products_name']."\n";
}
}
require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
Jakiś pomysł?