我试图点击搜索后显示自动填充的列表中的第一项:
$(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的项目,但它没有点击它。
我只想编辑一个使用带自动填充(地点)的字段的帖子,所以当显示表单时我希望它已经选择了该地点。
答案 0 :(得分:0)
我要求快速修复该问题:检索已存储的项目的值,但在表单中更容易,更清晰。我的修复是在我的Symfony表单中修改Transformer。由于这不是PHP主题,我不会详细介绍。
总之:应该有一种更好的方法来实现这一点,而不是强制执行click()事件。