字母/数字顺序排序-jQuery UI

字母/数字顺序排序-jQuery UI,jquery,symfony,Jquery,Symfony,在我的项目中,我使用jQuery UI插件实现了一点自动完成。但我在表格中输入的元素,并没有按顺序输出,如下所示: 以下是显示网络的firebug: 这是我的自动完成: <script> $(document).ready(function () { var $search = $( "#city_name" ); $search.autocomplete({ source: function( request,

在我的项目中,我使用jQuery UI插件实现了一点自动完成。但我在表格中输入的元素,并没有按顺序输出,如下所示:

以下是显示网络的firebug:

这是我的自动完成:

<script>
    $(document).ready(function () {

        var $search = $( "#city_name" );

        $search.autocomplete({
            source: function( request, response ) {
                $.ajax( {
                    url: '{{ (path("app_autocomplete_city")) }}',
                    dataType: "json",
                    data: {
                        term: request.term
                    },
                    success: function( data ) {
                        response( data );
                    }
                });
            },
            minLength: 1
        });
    });
</script>
因此,我想知道如何将其按字母/数字顺序排列,以获得良好的输出

谢谢

您可以简单地使用方法&将城市名称添加到数组键中,然后像这样在后端按键排序

$formattedData = array();
foreach ($cities as $key => $city) {
     $formattedData[$city['name']] = array(
       'value' => $city['name'],
     );
}
ksort($formattedData);
return new JsonResponse($formattedData);

您可以使用
sort()
方法对数据进行排序。逻辑的确切外观取决于
数据
变量所包含的内容。你能编辑你的问题吗?包括一个ithello@Rorymcrossan的样本。是的,我正在考虑排序(),但是我应该把它放在哪里呢?我应该写
success:function(sort(data))
?这个
自动完成插件是什么
Symfony
我认为是用于后端PHP的,因此它与这个问题无关。您很可能需要自己实现逻辑来进行排序,它不像调用
sort()
那么简单这就是为什么我要你的数据样本。你能发布你的回复的JSON样本吗在代码中实际做了什么?因为我不明白。这会按字母顺序排列我的问题吗?哦,对不起。删除了空数组。使用其他方法解决此问题,但此方法很简单。我忘了删除它。更新answer@crisscross这将按我正在检查的顺序输出数组,并会让您知道:)
$formattedData = array();
foreach ($cities as $key => $city) {
     $formattedData[$city['name']] = array(
       'value' => $city['name'],
     );
}
ksort($formattedData);
return new JsonResponse($formattedData);