点击第一项自动完成jQuery ui

时间:2016-03-28 11:51:26

标签: javascript jquery jquery-ui autocomplete

我试图点击搜索后显示自动填充的列表中的第一项:

$(function(){
    $('#autocompleteplace').each(function(i, el) {
        var $this = $(el);
        $this.autocomplete({
            source: $this.data('urlp'),
            autoFocus: true,
            minLength: 1,
            select: function( event, ui ) {
                $('#' + $this.data('id')).val(ui.item.id);
            }
        });
        var region = '{{ form.vars.data.place.region|default('') }}';
        $this.autocomplete("search", region, true);
        var menu = $this.autocomplete("widget");

        $(menu[0].children[0]).click();
    });
});

此代码与here中的代码相同,我在相同的环境中尝试过并且它有效。但在我的例子中,我从服务器获取数据,它显示并选择了第一个带有autoFocus的项目,但它没有点击它。

我只想编辑一个使用带自动填充(地点)的字段的帖子,所以当显示表单时我希望它已经选择了该地点。

1 个答案:

答案 0 :(得分:0)

我要求快速修复该问题:检索已存储的项目的值,但在表单中更容易,更清晰。我的修复是在我的Symfony表单中修改Transformer。由于这不是PHP主题,我不会详细介绍。

总之:应该有一种更好的方法来实现这一点,而不是强制执行click()事件。