Я использую следующий код foxycomplete, чтобы получить некоторые результаты из моего db с изображениями. С локальными файлами работает отлично, но я не могу сделать это с помощью mysql.Использование автозаполнения Jquery с изображениями
Вот мой код, который я использую ..
<form id="autocompleteForm" name="autocompleteForm" action="" method="post">
<input type="text" name="s" id="s" value="Search" style="border:none;" />
</form>
Javascript Код:
(function($) {
$(document).ready(function() {
$('#s').each(function(){
$(this).attr('title', $(this).val())
.focus(function(){
if ($(this).val() == $(this).attr('title')) {
$(this).val('');
}
}).blur(function(){
if ($(this).val() == '' || $(this).val() == ' ') {
$(this).val($(this).attr('title'));
}
});
});
$('input#s').result(function(event, data, formatted) {
$('#result').html(!data ? "No match!" : "Selected: " + formatted);
}).blur(function(){
});
$(function() {
function format(mail) {
return "<a href='"+mail.permalink+"'><img src='" + mail.image + "' /><span class='title'>" + mail.title +"</span></a>";
}
function link(mail) {
return mail.permalink
}
function title(mail) {
return mail.title
}
$("#s").autocomplete(completeResults, {
width: $("#s").outerWidth()-2,
max: 5,
scroll: false,
dataType: "json",
source: "video_search.php",
matchContains: "word",
parse: function(data) {
return $.map(data, function(row) {
return {
data: row,
value: row.title,
result: $("#s").val()
}
});
},
formatItem: function(item) {
return format(item);
}
}).result(function(e, item) {
$("#s").val(title(item));
//location.href = link(item);
});
});
});
})(jQuery);
И PHP код, чтобы получить мои данные:
<?php
require "connectiondb.php";
if(isset($_REQUEST['s']))
{
$queryString = mysql_real_escape_string($_REQUEST['s']);
echo'var completeResults = [{';
$ss = mysql_query ("SELECT title, image FROM users WHERE title LIKE '$queryString%' LIMIT 7");
while($result = mysql_fetch_assoc($ss)) {
echo '
"permalink": "index.html",
"image": "'.$result['image'].'",
"title": "'.$result['title'].'"
},';
}
echo '}];';
}else{
}
?>
Спасибо, ребята!
вам нужен полный URL в «источник» вместо того, чтобы просто делать имя файла php? –
'$ ('#s') .each ...'? Там должен быть только один '$ ('# s')' - идентификаторы должны быть уникальными – Popnoodles
Откройте консоль (в Firefox используйте расширение firebug, щелкнув правой кнопкой мыши Chrome, выберите Inspect Element, перейдите на вкладку Console), вы можете увидеть 404 ошибка. Сообщите нам, какие ошибки есть, если они есть. – Popnoodles