Javascript自动完成功能href

时间:2011-11-25 09:08:27

标签: javascript html json autocomplete

我有以下javascript-function:

   <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>

该功能已经有效但突然停止工作。问题是,dropdown-autocomplete上的href不可点击。

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 :(得分:0)

为什么不直接使用远程源,而不是这个数组工作? 这不是一起使用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;
            }
    });

请参阅Documentation "source:" parameterdemo-implementation (view sourcecode)

干杯。弗兰克