привязка ответа автозаполнения AJAX из ответа JSON к определенному URL / веб-странице - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь связать каждый результат автозаполнения Ajax с определенным URL-адресом («целевой страницей»).

URL-адрес: www.aebli.com, поле поиска в правом верхнем углу, попробуйте нажать «h» или"ho" Ajax-код для поля поиска:

<script type="text/javascript" src="js/dimensions.js"></script>
<script type="text/javascript" src="js/autocomplete.js"></script>

<script type="text/javascript">
    $(function(){
        setAutoComplete("searchField", "results", "php/autocomplete.php?part=");
    });
</script>

здесь файл "autocomplete.php", который выбирает конкретную таблицу из базы данных MySQL:

<?php
    $link = mysql_connect('localhost', 'root', 'root');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    if (!mysql_select_db("dreampix")) {
        echo "Unable to select mydbname: " . mysql_error();
        exit;
    }

    $result = mysql_query("SELECT name FROM  treffer");
    while ($row = mysql_fetch_assoc($result)) {
        $colors[]=$row['name'];
    }
    mysql_free_result($result);
    mysql_close($link);

    // check the parameter
    if(isset($_GET['part']) and $_GET['part'] != '')
    {
        // initialize the results array
        $results = array();

        // search colors
        foreach($colors as $color)
        {
            // if it starts with 'part' add to results
            if( strpos($color, $_GET['part']) === 0 ){
                $results[] = $color;
            }
        }

        // return the array as json with PHP 5.2
        echo json_encode($results);
    }
?>

Как выможно посмотреть на www.aebli.com, поле поиска работает, попробуйте с "ho".MySQL-Database-Table содержит только две строки: id и некоторые записи, такие как "hochzeit".Как я могу "подключить" результаты автозаполнения AJAX с <a href="#"> к определенной целевой странице, такой как aebli.com/searchresluts для "hochzeit" .php?

Я хочу, чтобы пользователь выполнял поиск "ho",получает список и может щелкнуть один из результатов, чтобы открыть целевую веб-страницу.

1 Ответ

0 голосов
/ 06 мая 2011

Сначала вы должны добавить столбец url в таблицу treffer, чтобы скрипт знал, с каким URL связан каждый термин. Затем измените сценарий, чтобы он также возвращал URL-адрес в ответе JSON.

Так что вместо:

["hochzeit"]

Ответ будет выглядеть примерно так:

[{"url":"/searchresluts", "name":"hochzeit"}]

Тогда вам нужно изменить часть JavaScript. Глядя на документацию autocomplete , я обнаружил, что вам нужно заменить функцию formatItem по умолчанию. Обратитесь к этому ответу , как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...