use*_*391 125 javascript jquery input onclick
我有一个输入框,我希望它被禁用,同时隐藏它以避免在移植表单时出现问题.
到目前为止,我有以下代码来隐藏我的输入:
$(".shownextrow").click(function() {
$(this).closest("tr").next().show().find('.longboxsmall').hide();
});
Run Code Online (Sandbox Code Playgroud)
这是因此隐藏的输入:
<input class="longboxsmall" type="text" />
Run Code Online (Sandbox Code Playgroud)
如何将disabled属性添加到输入?
Inc*_*ito 278
$("input").attr("disabled", true); 截至...我不知道了.
这是2013年12月,我真的不知道该告诉你什么.
首先它总是.attr(),然后它总是.prop(),所以我回到这里更新答案,使其更准确.
然后一年后jQuery再次改变主意,我甚至不想跟踪这个.
简而言之,截至目前,这是最好的答案:"你可以同时使用两者......但这取决于它."
您应该阅读此答案:https://stackoverflow.com/a/5876747/257493
他们的发布说明包含在这里:
不应使用.attr()和.prop()来获取/设置值.使用.val()方法(尽管使用.attr("value","somevalue")将继续工作,就像1.6)之前一样.
首选用法摘要
.prop()方法应该用于布尔属性/属性以及html中不存在的属性(例如window.location).所有其他属性(您可以在html中看到的属性)可以并且应该继续使用.attr()方法进行操作.
或者换句话说:
".prop =非文档内容"
".attr"=文件内容
......
我们都可以在这里学到关于API稳定性的教训......
Mir*_*ciu 44
来自我的来源的工作代码:
HTML世界
<select name="select_from" disabled>...</select>
Run Code Online (Sandbox Code Playgroud)
JS WORLD
var from = jQuery('select[name=select_from]');
//add disabled
from.attr('disabled', 'disabled');
//remove it
from.removeAttr("disabled");
Run Code Online (Sandbox Code Playgroud)
iCo*_*nor 15
如果您正在使用jQuery,那么有几种不同的方法来设置disabled属性.
var $element = $(...);
$element.prop('disabled', true);
$element.attr('disabled', true);
// The following do not require jQuery
$element.get(0).disabled = true;
$element.get(0).setAttribute('disabled', true);
$element[0].disabled = true;
$element[0].setAttribute('disabled', true);
Run Code Online (Sandbox Code Playgroud)
use*_*716 11
您可以获取DOM元素,并直接设置disabled属性.
$(".shownextrow").click(function() {
$(this).closest("tr").next().show()
.find('.longboxsmall').hide()[0].disabled = 'disabled';
});
Run Code Online (Sandbox Code Playgroud)
或者如果有多个,您可以使用each()它们来设置所有这些:
$(".shownextrow").click(function() {
$(this).closest("tr").next().show()
.find('.longboxsmall').each(function() {
this.style.display = 'none';
this.disabled = 'disabled';
});
});
Run Code Online (Sandbox Code Playgroud)
小智 11
$(element).prop('disabled', true); //true|disabled will work on all
$(element).attr('disabled', true);
element.disabled = true;
element.setAttribute('disabled', true);
Run Code Online (Sandbox Code Playgroud)
以上所有都是完全有效的解决方案.选择最符合您需求的产品.
小智 9
由于问题是询问如何使用 JS 执行此操作,因此我提供了一个普通的 JS 实现。
var element = document.querySelector(".your-element-class-goes-here");
// it's a good idea to check whether the element exists
if (element != null && element != undefined) {
element.disabled = "disabled";
}Run Code Online (Sandbox Code Playgroud)
只需使用jQuery的attr()方法
$(this).closest("tr").next().show().find('.longboxsmall').attr('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)
小智 5
在 JQuery 中,您可以使用以下函数:
$("input").prop('disabled', true);
$("input").prop('disabled', false);
Run Code Online (Sandbox Code Playgroud)
对于原生js你可以使用:
document.getElementById("myElement").disabled = true;
Run Code Online (Sandbox Code Playgroud)