到目前为止,我使用以下内容来禁用/启用表单字段 -
$('#fieldid').attr('disable','disable');
$('#fieldid').removeAttr('disable');
这就完成了工作。但昨天,我心不在焉地输入以下信息来启用该字段 -
$('#fieldid').enable();
它有效!我默默地踢了自己,因为我没有尝试jQuery中内置的“启用”/“禁用”功能(或者我认为),并继续将行更改为禁用 -
$('#fieldid').disable();
令我惊讶的是,这不起作用。
我错过了什么吗?为什么定义了enable()函数但是disable()函数不是?甚至更奇怪,我在jquery文档中没有提到enable()或disable()。有没有人有任何解释?
我正在使用jQuery 1.6。
答案 0 :(得分:4)
jQuery不支持开箱即用的enable()
方法(并且disable
HTML属性也不存在,但这可能只是您问题中的拼写错误。)
也许您正在使用提供该功能的插件?如果是这种情况,请尝试将false
传递给enable()
方法以禁用字段:
$('#fieldid').enable(false);
答案 1 :(得分:1)
看起来可以通过disable plugin获取。至于为什么它不是开箱即用的,我只能假设它被遗漏了,因为.attr()
已经涵盖了功能
答案 2 :(得分:1)
我已经阅读了jquery代码和文档,但找不到am enable函数的任何标记,你确定该框还没有启用吗?
我创建了一个jsfiddle来检查:
$(document).ready(function(){
$("#textinput").enable();
});
<input id="textinput" type="text" disabled="disabled" />