jQuery移动日期框';禁用';不起作用
我在侧面板中使用内联日期框。在某些情况下,我想通过编程禁用控件。按照API说明,我做了以下操作(coffeescript): 但该控件仍处于启用状态,并且返回“false”:jQuery移动日期框';禁用';不起作用,jquery,jquery-mobile,datebox,Jquery,Jquery Mobile,Datebox,我在侧面板中使用内联日期框。在某些情况下,我想通过编程禁用控件。按照API说明,我做了以下操作(coffeescript): 但该控件仍处于启用状态,并且返回“false”: alert $("#dateInput").datebox 'getOption', 'disabled' 我怀疑API文档中有错误,查看了datebox源代码,发现实际上有一个“disable”函数,所以我尝试了以下方法: $("#dateInput").datebox 'disable' 但同样,没有运气。有什么建
alert $("#dateInput").datebox 'getOption', 'disabled'
我怀疑API文档中有错误,查看了datebox源代码,发现实际上有一个“disable”函数,所以我尝试了以下方法:
$("#dateInput").datebox 'disable'
但同样,没有运气。有什么建议吗?试试:
// disable
$("#dataInput").parent("div").addClass("ui-disabled");
// enable
$("#dataInput").parent("div").removeClass("ui-disabled");
// toggle enable/disable
$("#dataInput").parent("div").toggleClass("ui-disabled");
不确定为什么“禁用”不适用于您。对于我来说,“禁用”和“启用”工作正常:
$(".enableDisable").on("click", function(){
if ($(this).val() == "Enable") {
$("#dateInput").datebox("enable");
} else {
$("#dateInput").datebox("disable");
}
});
这是一份工作报告
我很抱歉,如果这不是一个真正的回答,一个评论似乎也不合适 在调用disable/enable时,我添加了一个钩子来禁用/启用整个控件内容 它对脚本化的控件调用没有任何影响,它们仍将生效 它只在最新版本中出现,但如果您想修补它,相关的行如下: 提交行:
- 1270
- 1279
this.d.mainWrap
在功能中:
- 使能
- 禁用
Fwiw,该提交引用了“下一个”大版本更改-简单地说,DateBox是在jQM-1.0 alpha 4上构建的,具有当时所需的所有标记-新版本将进行1.4.3优化,在我们看到实际版本之前完成了1.5.0的大部分工作。它还将完全转储“对话”模式(jQM 1.5.0将完全转储),我的“自制”弹出方法将支持“官方”弹出。此处提供了试驾:我认为您需要将ui禁用类应用于输入的父div(包装器):$(“#dataInput”).parent(“div”).addClass(“ui禁用”);正确,我没有检查右边的图标;答案已编辑-谢谢@ezankerb因为datebox控件是内联的并且始终可见,我需要禁用控件本身,而不是输入。但是,我使用了您的方法,并将“ui禁用”类添加到相应的“ui日期框容器”中,这非常有效。我没有意识到“禁用”和“启用”功能对输入而不是控件本身进行操作,因为输入是隐藏的,所以我看不出它是以这种方式运行的。谢谢呵呵。从未考虑过这个用例。我会准备一些东西来做这个神奇的事情,这将是非常有用的!谢谢,ezanker——请看我上面的说明。需要禁用控件本身,因为日期框是内联的。
this.d.mainWrap