我正在为我的多选下拉菜单使用多选插件。这是代码:
$('#crew_id_1').multiselect({
includeSelectAllOption: true,
enableFiltering: true,
maxHeight: 150
});
加载 html 时,会动态加载 #crew_id_1。当我单击“添加更多”按钮时,会添加更多下拉列表#crew_id_2, #crew_id_3, ...........
,依此类推。
我希望每个 id 开头的选择元素crew_id_
都应该初始化多选。
所以我像这样初始化下拉列表:-
$('[id^="crew_id_"]').multiselect({
includeSelectAllOption: true,
enableFiltering: true,
maxHeight: 150
});
现在我什至希望动态创建的下拉菜单也被初始化。所以我将代码更改为:-
$(document).on('focus', '[id^="crew_id_"]', function(){
$(this).multiselect({
includeSelectAllOption: true,
enableFiltering: true,
maxHeight: 150
});
});
但是,问题在于下拉菜单仅在将焦点设置在它们上时才被初始化。我想要任何其他事件(任何非鼠标操作事件,如“加载”),以便在没有任何点击或焦点的情况下对其进行初始化。
这是因为 multiselect() 为下拉菜单提供了不同的外观。如果我使用“焦点”,那么在将焦点设置在它们上之前,它们的外观不会改变。