使用 jQuery 禁用/启用输入?
$input.disabled = true;
或者
$input.disabled = "disabled";
哪种是标准方式?相反,如何启用禁用的输入?
$input.disabled = true;
or
$input.disabled = "disabled";
Which is the standard way? And, conversely, how do you enable a disabled input?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(19)
jQuery 1.6+
要更改
disabled
属性,您应该使用.prop()< /code>
函数。
jQuery 1.5 及更低版本
.prop()
函数不存在,但存在。 attr()
的作用类似:设置禁用属性。
使用
.removeAttr()
要再次启用,正确的方法是在任何版本中 jQuery
你总是可以依赖实际的 DOM 对象,如果你只处理一个元素,它可能比其他两个选项快一点:
使用
.prop()
或的优点.attr()
方法的优点是您可以为一堆选定的项目设置属性。注意:在1.6中有一个
.removeProp()
听起来很像removeAttr()
的方法,但它不应该在'disabled'
等本机属性上使用 文档摘录:事实上,我怀疑这个方法有很多合法的用途,布尔属性的完成方式是你应该将它们设置为 false,而不是像 1.5 中的“属性”对应项一样“删除”它们
jQuery 1.6+
To change the
disabled
property you should use the.prop()
function.jQuery 1.5 and below
The
.prop()
function doesn't exist, but.attr()
does similar:Set the disabled attribute.
To enable again, the proper method is to use
.removeAttr()
In any version of jQuery
You can always rely on the actual DOM object and is probably a little faster than the other two options if you are only dealing with one element:
The advantage to using the
.prop()
or.attr()
methods is that you can set the property for a bunch of selected items.Note: In 1.6 there is a
.removeProp()
method that sounds a lot likeremoveAttr()
, but it SHOULD NOT BE USED on native properties like'disabled'
Excerpt from the documentation:In fact, I doubt there are many legitimate uses for this method, boolean props are done in such a way that you should set them to false instead of "removing" them like their "attribute" counterparts in 1.5
只是为了新的约定&&使其能够适应未来(除非 ECMA6 发生巨大变化(???):
以及
Just for the sake of new conventions && making it adaptable going forward (unless things change drastically with ECMA6(????):
and
有时您需要禁用/启用表单元素,例如输入或文本区域。 Jquery 通过将禁用属性设置为“禁用”来帮助您轻松实现此目的。
例如:
要启用禁用元素,您需要从此元素中删除“禁用”属性或清空其字符串。例如:
参考:http://garmoncheg.blogspot。 fr/2011/07/how-to-disableenable-element-with.html
Sometimes you need to disable/enable the form element like input or textarea. Jquery helps you to easily make this with setting disabled attribute to "disabled".
For e.g.:
To enable disabled element you need to remove "disabled" attribute from this element or empty it's string. For e.g:
reference: http://garmoncheg.blogspot.fr/2011/07/how-to-disableenable-element-with.html
或者
or
使用它们的方法有很多种,您可以启用/禁用任何元素 :
方法 1
方法 2
如果您使用的是 jQuery 1.7 或更高版本,则使用prop(),而不是 attr()。
如果您希望启用任何元素,那么您只需执行与禁用它相反的操作即可。然而 jQuery 提供了另一种方法来删除任何属性。
方法 1
方法 2
方法 3
同样,如果您使用 jQuery 1.7 或更高版本,请使用 prop(),而不是 attr()。就是这样。这是使用 jQuery 启用或禁用任何元素的方法。
There are many ways using them you can enable/disable any element :
Approach 1
Approach 2
If you are using jQuery 1.7 or higher version then use prop(), instead of attr().
If you wish to enable any element then you just have to do opposite of what you did to make it disable. However jQuery provides another way to remove any attribute.
Approach 1
Approach 2
Approach 3
Again, if you are using jQuery 1.7 or higher version then use prop(), instead of attr(). That's is. This is how you enable or disable any element using jQuery.
像这样使用,
Use like this,
如果您只想反转当前状态(如切换按钮行为):
如注释中所述,以下内容还将切换道具:
If you just want to invert the current state (like a toggle button behaviour):
As noted in comments, the following will also toggle the prop:
您可以将其放在代码中的全局位置:
然后您可以编写如下内容:
You can put this somewhere global in your code:
And then you can write stuff like:
2018 年更新:
现在不再需要 jQuery,自从
document.querySelector
或document.querySelectorAll
(对于多个元素)完成与 $ 几乎完全相同的工作以来已经有一段时间了,加上更明确的getElementById
、getElementsByClassName
、getElementsByTagName
禁用“input-checkbox”类的一个字段
或多个元素
Update for 2018:
Now there's no need for jQuery and it's been a while since
document.querySelector
ordocument.querySelectorAll
(for multiple elements) do almost exactly same job as $, plus more explicit onesgetElementById
,getElementsByClassName
,getElementsByTagName
Disabling one field of "input-checkbox" class
or multiple elements
这对我有用
this works for me
您可以使用 jQuery prop() 方法通过 jQuery 动态禁用或启用表单元素或控件。 prop() 方法需要 jQuery 1.6 及以上版本。
示例:
You can use the jQuery prop() method to disable or enable form element or control dynamically using jQuery. The prop() method require jQuery 1.6 and above.
Example:
禁用:
启用:
Disable:
Enable:
对输入类型禁用 true :
Disable true for input type :
禁用输入字段的另一种方法是使用 jQuery 和 css,如下所示:
并启用相同的输入,代码如下:
An alternate way to disable the input field is by using jQuery and css like this:
and to enable the same input the code is as follows:
我使用@gnarf答案并将其添加为函数
然后像这样使用
I used @gnarf answer and added it as function
Then use like this
2018,没有 JQuery (ES6)
禁用所有
input
:使用
id="my-input"
禁用input
问题是 使用 JQuery,仅供参考。
2018, without JQuery (ES6)
Disable all
input
:Disable
input
withid="my-input"
The question is with JQuery, it's just FYI.
方法 4(这是狂野编码器答案的扩展)
Approach 4 (this is extension of wild coder answer)
在 jQuery Mobile 中:
对于禁用
对于启用
In jQuery Mobile:
For disable
For enable