Jquery:尝试禁用 HTML select 菜单无效

Jquery: Trying to disable HTML select menu not working

在我的 HTML 页面上,我有几个 select 菜单,它们都共享 class 名称 .iconDropDownMenu,当页面生成时 PHP一些 select 菜单将被 PHP 隐藏,将另一个 class 添加到 select 菜单。

无论如何,我只想禁用隐藏的 .iconDropDownMenu,我一直在尝试使用以下内容:

$(".iconDropDownMenu:hidden").each(function()
{
    $(this).prop('disabled', true);
});

这个 运行 没有错误,但是 disabled 属性没有出现在我的 select 菜单上,因此没有禁用输入。所以我做了一些研究,发现我可以在上面第一行之后的 .each() 中使用 $(this).multiselect('refresh'); 。但是我得到一个错误 TypeError: $(...).multiselect is not a function 这是它实际工作的奇怪部分,我可以看到 disabled 属性在 HTML 但错误停止 JavaScript 的其余部分到 运行...

我也尝试使用 $(this).selectmenu("refresh"); 但得到以下信息:错误:无法在初始化之前调用 select 菜单上的方法;试图调用方法 'refresh' 并且这也产生了相同的结果,添加了 select 菜单的禁用属性,而没有这个它以前没有。

我试图初始化 select 菜单,但它只是向 HTML 添加了一个跨度,并通过将第一个 selection 显示为文本来弄乱 select 菜单在 select 菜单之外?

我还尝试使用 PHP 将 "disabled" 属性输出到 select 菜单 HTML 但是在浏览器中加载时它不显示并被删除:/

提前感谢任何帮助!

听起来你的 JS 可能需要进入 $(document).ready();,这里有一个例子...... https://jsfiddle.net/kennethcss/vkuhm93s/.