单独更改jquery-ui自动完成小部件的宽度

前端之家收集整理的这篇文章主要介绍了单独更改jquery-ui自动完成小部件的宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个页面上使用多个jquery-ui自动完成小部件,并希望能够单独设置每个的宽度。目前,我这样做:
$($('.ui-autocomplete')[0]).width(150);
$($('.ui-autocomplete')[1]).width(105);
$($('.ui-autocomplete')[2]).width(80);

这不是真正的解决方案,因为用户能够以不同的顺序触发各种自动完成,而这个代码只是根据它们添加到DOM的顺序对它们进行风格化。

触发自动完成时,似乎创建一个< ul>然后将其放在触发它的输入框下。不幸的是,我在这个生成的< ul>中找不到任何唯一的标识符锁定并应用一些CSS。

我的问题与this one不同,因为我只使用默认的自动填充功能,而不是autocomplete-comboBox

另外,挖掘自动填充< ul>并且匹配不同的自动填充框宽度与列表中的值不起作用,因为这些值是动态生成的。

有任何想法吗?

解决方法

我使用’open’事件解决了这个问题。我需要一种动态设置宽度的方法,以及其他项目,不需要额外的标记
$('#input').autocomplete({  
    source: mysource,appendTo: '#div',open: function() { $('#div .ui-menu').width(300) }  
});

猜你在找的jQuery相关文章