Javascript автозаполнение функции HREF - PullRequest
1 голос
/ 25 ноября 2011

У меня есть следующая функция javascript:

   <script type="text/javascript">

    $(function() {
        var data = (<?php include("php/search_new.php"); ?>).Data.Recipes;
        var source = [];
        for (var i in data) {
            source.push({"href": "/php/get_recipe_byID.php?id=" + data[i].ID, "label": data[i].TITLE});
        }
        $("#searchrecipes").autocomplete({
            minLength: 3,
            source: source,
            select: function(event, ui) {
                window.location.href = ui.item.href;
        }
    }); 
});

   </script> 

<input id="searchrecipes" type="text" name="searchrecipes" style="margin-left: 850px; margin-top: 0px; width:170px; background: #fff url(images/search_icon.png) no-repeat 100%;"  onblur="this.style.background='#ffffff';   background: #fff url(images/search_icon.png) no-repeat 100%;" onfocus="this.style.background='#c40606';  background: url(images/search_icon.png) no-repeat 100%;"  placeholder="Suchen..."></input>
                <input type="submit" name="buttonsenden" style="display:none;" value="" width: 5px></input>

Функция уже сработала, но вдруг перестала работать. Проблема в том, что ссылка на раскрывающееся меню автозаполнения не активна.

var data = ({"Data":{"Recipes":{"Recipe_5":{"ID":"5","TITLE":"Spaghetti Bolognese"},"Recipe_7":{"ID":"7","TITLE":"Wurstel"},"Recipe_9":{"ID":"9","TITLE":"Schnitzel"},"Recipe_10":{"ID":"10","TITLE":null},"Recipe_19":{"ID":"19","TITLE":null},"Recipe_20":{"ID":"20","TITLE":"Hundefutter"},"Recipe_26":{"ID":"26","TITLE":"Apfelstrudel"},"Recipe_37":{"ID":"37","TITLE":null},"Recipe_38":{"ID":"38","TITLE":"AENDERUNG"},"Recipe_39":{"ID":"39","TITLE":null},"Recipe_40":{"ID":"40","TITLE":"Schnitzel"},"Recipe_42":{"ID":"42","TITLE":"Release-Test"},"Recipe_43":{"ID":"43","TITLE":"Wurstel2"}}},"Message":null,"Code":200}).Data.Recipes;

Все необходимые скрипты jquery доступны. В чем может быть проблема?

1 Ответ

0 голосов
/ 25 ноября 2011

Почему бы не использовать напрямую удаленный источник, вместо этого этот массив работает?Это не способ использовать PHP и JS вместе:

var data = (<?php include("php/search_new.php"); ?>)

Вы можете использовать напрямую удаленный источник.Он будет загружен AJAX-запросом:

$(function() {
        $("#searchrecipes").autocomplete({
            minLength: 3,
            source: "/php/recipe_index.php",
            select: function(event, ui) {
                window.location.href = ui.item.href;
            }
    });

См. Документация "source:" параметр или демонстрационная реализация (просмотр исходного кода)

Приветствие.Frank

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