如何从下拉列表中重新启用选项
Posted
技术标签:
【中文标题】如何从下拉列表中重新启用选项【英文标题】:How to re-enable option from drop down 【发布时间】:2014-02-07 09:39:26 【问题描述】:我无法从下拉菜单中重新启用选项。由于一些奇怪的原因,我可以禁用但无法恢复。有什么解决办法吗?我正在使用 SharePoint 2007
$(document).ready(function()
if($("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Validating']"))
$("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Analysis']").attr("disabled", "disabled");
else
if($("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Resolving']"))
$("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Analysis']").removeAttr("disabled");
);
【问题讨论】:
你到底为什么有这样的身份证? 【参考方案1】:$("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Validating']")
是一个 jQuery 对象,它始终是一个真实值(即使没有选择任何内容)。因此,总是执行第一个if
语句。
改为使用$('blah').length
来确定是否选择了任何内容。
虽然很牛,但还是找到一种更好的方法来识别你的 DOM。
【讨论】:
似乎这些 ID 是由 Microsoft 的名为 SharePoint 的软件动态生成的 :) @BlackSheep 我注意到标签,“更好的方式”表示从轨道上攻击 SharePoint。 这真的很有帮助。我的 if 语句总是执行第一个。谢谢!【参考方案2】:ready
回调中缺少左括号。
$(document).ready(function() <--- here
if($("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Validating']"))
$("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Analysis']").attr("disabled", "disabled");
else if($("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Resolving']"))
$("#ctl00_m_g_98b27f90_2d47_4399_9f55_39944c5c3d72_ctl00_ctl04_ctl23_ctl00_ctl00_ctl04_ctl00_DropDownChoice option[value='Analysis']").removeAttr("disabled");
);
【讨论】:
else
声明是 else if
声明哈哈。他没有遗漏任何东西。
哦,那个换行符很误导人
一开始我也很困惑以上是关于如何从下拉列表中重新启用选项的主要内容,如果未能解决你的问题,请参考以下文章