【发布时间】:2016-07-31 00:00:28
【问题描述】:
在我的 HTML 页面上,我有一些选择菜单,它们都共享类名 .iconDropDownMenu,当使用 PHP 生成页面时,一些选择菜单将被 PHP 添加另一个类隐藏到选择菜单中。
无论如何,我想只禁用隐藏的.iconDropDownMenu,我一直在尝试使用以下内容:
$(".iconDropDownMenu:hidden").each(function()
{
$(this).prop('disabled', true);
});
这运行没有错误,但禁用属性没有显示在我的选择菜单上,因此不会禁用输入。所以我做了一些研究,发现我可以在第一行之后在上面的 .each() 中使用$(this).multiselect('refresh');。但是我得到一个错误 TypeError: $(...).multiselect is not a function 这是它实际工作的奇怪部分,我可以在 HTML 中看到 disabled 属性,但错误会停止其余的 JavaScript 运行...
我也尝试使用$(this).selectmenu("refresh");,但得到以下信息:错误:在初始化之前无法调用选择菜单上的方法;尝试调用方法“刷新”,这也产生了相同的结果,因为禁用属性被添加到选择菜单,而没有它之前没有。
我尝试初始化选择菜单,但它只是在 HTML 中添加了一个跨度,并通过将第一个选择显示为选择菜单之外的文本来搞乱选择菜单?
我还尝试使用 PHP 将“禁用”属性输出到选择菜单 HTML,但在浏览器中加载时它不显示并被删除:/
任何帮助,谢谢!
【问题讨论】:
-
请问,您所说的 将被 PHP 隐藏 是什么意思? 但 disabled 属性没有显示在我的选择菜单上 ?
-
尝试使用
attr()而不是prop。 -
请分享HTML代码以方便调试
-
我的意思是我基本上已经使用 PHP 在选择 HTML
中回显“禁用”但在浏览器中它没有显示,但如果我要回显它会显示的“disabledA”。你知道当你按 F12 查看代码时。 -
听起来你的 JS 可能需要进入
$(document).ready();,这里有一个例子……jsfiddle.net/kennethcss/vkuhm93s。如果没有更多细节,很难给出更具体的答案。
标签: javascript jquery html jquery-ui-selectmenu