Php 使用jsonData的jquery自动建议

Php 使用jsonData的jquery自动建议,php,jquery,json,autosuggest,Php,Jquery,Json,Autosuggest,我正在使用jqueryautosuggest插件版本:“1.10.3”。 我在php中动态创建一个availableTags数组,并将其转换为jsonData 现在,我转换了不止一个这样的数组,并使用switch语句,在我的搜索框中只允许一组特定的可用标记 但我的问题是,我的一个数组没有显示在搜索框的autosuggest下拉列表中 这是我的密码 $query4 = "SELECT `location` FROM `organization` WHERE `approved` = '1'";

我正在使用jqueryautosuggest插件版本:“1.10.3”。 我在php中动态创建一个availableTags数组,并将其转换为jsonData

现在,我转换了不止一个这样的数组,并使用switch语句,在我的搜索框中只允许一组特定的可用标记

但我的问题是,我的一个数组没有显示在搜索框的autosuggest下拉列表中

这是我的密码

$query4 = "SELECT `location` FROM `organization` WHERE `approved` = '1'"; 
if($query_run4 = mysql_query($query4))
{
    $resultnames = array();
    $i=0;
    while($result = mysql_fetch_assoc($query_run4))
    {
        $resultnames[$i] = $result['location'];
        $i++;
    }       
    $jsonData4 = json_encode($resultnames);
    //print_r($jsonData4); //It's printing the correct data over here..
}
else
{
    die ("query4 failed!");
}
这里是loadElements函数,我必须在这里加载jsonData。案例4就是问题所在。所有其他案件都运作良好

    <script>
        function loadElements(value)
        {
            switch(value)
            {
                case "1":
                var availableTags = <?=$jsonData1 ?>;
                $( "#tags" ).autocomplete({
                  source: availableTags
                    });
                break;

                case "2":
                var availableTags = <?=$jsonData2 ?>;
                $( "#tags" ).autocomplete({
                  source: availableTags
                });
                break;

                case "3":
                var availableTags = <?=$jsonData3 ?>;
                $( "#tags" ).autocomplete({
                  source: availableTags
                });
                break;

                case "4":
                var availableTags = <?=$jsonData4 ?>;
                $( "#tags" ).autocomplete({
                  source: availableTags
                });
                break;

                case "5":
                var availableTags = <?=$jsonData5 ?>;
                $( "#tags" ).autocomplete({
                  source: availableTags
                });
                break;
            }
        }
    </script>

函数装入元素(值)
{
开关(值)
{
案例“1”:
var availableTags=;
$(“#标记”).autocomplete({
资料来源:availableTags
});
打破
案例“2”:
var availableTags=;
$(“#标记”).autocomplete({
资料来源:availableTags
});
打破
案例“3”:
var availableTags=;
$(“#标记”).autocomplete({
资料来源:availableTags
});
打破
案例“4”:
var availableTags=;
$(“#标记”).autocomplete({
资料来源:availableTags
});
打破
案例“5”:
var availableTags=;
$(“#标记”).autocomplete({
资料来源:availableTags
});
打破
}
}

我不熟悉json和jquery,非常感谢您的帮助

loadElements
是如何调用的?看起来不错,谢谢您的回复:)我在
中调用loadElements(value)是的,JSFIDLE工作正常,但我不知道,因为某种原因我的不工作。可能是因为一些默认值,如“maxlength”,因为我的“location”大约有40-50个字符长。您需要尝试在小提琴中重新创建问题,以便我们可以查看