我在侧面板中使用内联日期框。在某些情况下,我想以编程方式禁用控件。遵循API说明,我这样做了(coffeescript):
$("#dateInput").datebox 'close'
但控件仍处于启用状态,并返回' false':
alert $("#dateInput").datebox 'getOption', 'disabled'
怀疑API文档中存在错误,我查看了日期框源,发现实际上有一个"禁用"功能,所以我尝试了这个:
$("#dateInput").datebox 'disable'
但是,再一次,没有运气。有什么建议吗?
答案 0 :(得分:2)
尝试:
// disable
$("#dataInput").parent("div").addClass("ui-disabled");
// enable
$("#dataInput").parent("div").removeClass("ui-disabled");
// toggle enable/disable
$("#dataInput").parent("div").toggleClass("ui-disabled");
答案 1 :(得分:1)
如果这不是真正有资格作为答案,我很抱歉,评论也不合适。
我在调用disable / enable时添加了一个钩子来禁用/启用整个控件内容。
它对控件的 脚本 调用没有任何影响,它们仍然会生效。
它只出现在新版本的最新版本中,但是如果你想要修补它,那么相关产品线就在这里:
提交行:
(1270&& 1279) - 这正是你手动做的 - 你想要添加/删除“ui-state-disabled”类
this.d.mainWrap
在函数中:
方便的是,它们在.CORE文件中显示 last ,所以至少它们很容易找到。
Fwiw,该提交引用了“下一个”大版本更改 - 简单地说,DateBox是基于jQM-1.0 alpha 4左右构建的,具有当时所需的所有标记 - 新版本将为1.4。 3优化,在我们看到实际版本之前完成1.5.0的工作量。它还将完全转储“对话框”模式(jQM 1.5.0将),以及我的“自制”弹出方法,支持“官方”弹出窗口。可在此处使用试驾:Buggy, likely broken demo
答案 2 :(得分:0)
不确定为什么'禁用'不适合你。对我来说,禁用'和'启用'工作正常:
$(".enableDisable").on("click", function(){
if ($(this).val() == "Enable") {
$("#dateInput").datebox("enable");
} else {
$("#dateInput").datebox("disable");
}
});
这是一个有效的DEMO