使用 JavaScript 将禁用属性添加到输入元素
我有一个输入框,我希望禁用它并同时隐藏它以避免移植表单时出现问题。
到目前为止,我有以下代码来隐藏我的输入:
$(".shownextrow").click(function() {
$(this).closest("tr").next().show().find('.longboxsmall').hide();
});
这是因此隐藏的输入:
<input class="longboxsmall" type="text" />
如何将 disabled
属性添加到输入?
I have an input box and I want it to be disabled and at the same time hide it to avoid problems when porting my form.
So far I have the following code to hide my input:
$(".shownextrow").click(function() {
$(this).closest("tr").next().show().find('.longboxsmall').hide();
});
This is the input that gets hidden as a result:
<input class="longboxsmall" type="text" />
How can I also add the disabled
attribute to the input?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
$("input").attr("disabled", true);
截至...我不知道更多了。现在是 2013 年 12 月,我真的不知道该告诉你什么。
首先它总是
.attr()
,然后它总是.prop()
,所以我回到这里更新了答案并使其更加准确。一年后,jQuery 再次改变了主意,我什至不想跟踪这一点。
长话短说,到目前为止,这是最好的答案:“你可以同时使用两者......但这取决于情况。”
您应该阅读这个答案: https://stackoverflow.com/a/5876747/257493
以及他们的发行说明更改包括在这里:
或者换句话说:
...
...
我们都可以在这里学到有关 API 稳定性的教训...
$("input").attr("disabled", true);
as of... I don't know any more.It's December 2013 and I really have no idea what to tell you.
First it was always
.attr()
, then it was always.prop()
, so I came back here updated the answer and made it more accurate.Then a year later jQuery changed their minds again and I don't even want to keep track of this.
Long story short, as of right now, this is the best answer: "you can use both... but it depends."
You should read this answer instead: https://stackoverflow.com/a/5876747/257493
And their release notes for that change are included here:
Or in other words:
...
...
May we all learn a lesson here about API stability...
来自我的来源的工作代码:
HTML WORLD
JS WORLD
Working code from my sources:
HTML WORLD
JS WORLD
如果您使用 jQuery,则有几种不同的方法可以设置禁用属性。
If you're using jQuery then there are a few different ways to set the disabled attribute.
以上所有都是完全有效的解决方案。选择最适合您需求的一款。
All of the above are perfectly valid solutions. Choose the one that fits your needs best.
由于问题是询问如何使用 JS 执行此操作,因此我提供了一个普通的 JS 实现。
Since the question was asking how to do this with JS I'm providing a vanilla JS implementation.
您可以获取DOM元素,并直接设置disabled属性。
或者如果有多个,您可以使用
each()
来设置所有它们:You can get the DOM element, and set the disabled property directly.
or if there's more than one, you can use
each()
to set all of them:只需使用 jQuery 的
attr()
方法Just use jQuery's
attr()
method在 JQuery 中,您可以使用以下函数:
对于本机 js,您可以使用:
in JQuery you can use the following functions:
For native js you can use:
我尝试了
.prop()
,但这在 JQuery 3.7.1 上对我不起作用I tried
.prop()
, but that did NOT work for me on JQuery 3.7.1