A
A
Alexey Parkhomenko2015-07-09 14:29:46
PHP
Alexey Parkhomenko, 2015-07-09 14:29:46

jquery ui and autocomplete?

There is a request:

$(function(){
        
        //Присоединяем автозаполнение
        $("#to").autocomplete({
          
          //Определяем обратный вызов к результатам форматирования
          source: function(req, add){
          
            //Передаём запрос на сервер
            $.getJSON("friends.php?callback=?", req, function(data) {
              
              //Создаем массив для объектов ответа
              var suggestions = [];
              
              //Обрабатываем ответ
              $.each(data, function(i, val){								
                suggestions.push(val.name);
              });
              
              //Передаем массив обратному вызову
              add(suggestions);
            });
          },
          
          //Определяем обработчик селектора
          select: function(e, ui) {
            
            //Создаем форматированную переменную friend
            var friend = ui.item.value,
              span = $("<span>").text(friend),
              a = $("<a>").addClass("remove").attr({
                href: "javascript:",
                title: "Remove " + friend
              }).text("x").appendTo(span);
            
            //Добавляем friend к div friend 
            span.insertBefore("#to");
          },
          
          //Определяем обработчик выбора
          change: function() {
            
            //Сохраняем поле 'Кому' без изменений и в правильной позиции
            $("#to").val("").css("top", 2);
          }
        });
        
        //Добавляем обработчки события click для div friends
        $("#friends").click(function(){
          
          //Фокусируемся на поле 'Кому'
          $("#to").focus();
        });
        
        //Добавляем обработчик для события click удаленным ссылкам
        $(".remove", document.getElementById("friends")).live("click", function(){
        
          //Удаляем текущее поле
          $(this).parent().remove();
          
          //Корректируем положение поля 'Кому'
          if($("#friends span").length === 0) {
            $("#to").css("top", 0);
          }				
        });				
      });

php file friends.php:
<?php
//Connection information
$host = "localhost";
$user = "";
$password = "";
$database = "";
$param = $_GET["term"];
//Establish a connection
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
//Search the database
$query = mysql_query("SELECT * FROM oc_category_description WHERE name REGEXP '^$param'") or die(mysql_error());
//build array of result(s)
for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
$row = mysql_fetch_assoc($query);
$friends[$x] = array("
//Output JSON to the page
$response = $_GET["callback"] . "(" . json_encode($friends) . ")";
echo $response;
mysql_close($server);
?>
It feels like the request is not getting through. What could be the problem?
Autocomplite doesn't work, whatever one may say. Help.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
R
RadialAdmin, 2015-07-09
@Versale

^ for what? What do you have in term?

A
Alexander N++, 2015-07-09
@sanchezzzhak

select2 is somehow cooler)
Remove the closing tag in the php script if you have no further output.

$param = mysql_real_escape_string($param); 
$sql = "SELECT * FROM oc_category_description WHERE `name` LIKE '{$param}%'";
$query = mysql_query($sql) or die(mysql_error());

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question