I have an HTML element <a>
styled with jquery-ui to appear as a button. The html is shown below:
<a id= "delete-user"class="ui-button ui-widget ui-corner-all">DELETE USER</a>
<a id= "save-user" class="ui-button ui-widget ui-corner-all" style="float:right">SAVE</a>
I have tried setting the disabled attribute of the element in javascript without any success. The code I have tried is shown below.
$("#save-user").attr("disabled", true); //disable save button
The above statement works with <input>
perfectly but not with the <a>
.
How can I fix this problem?
答案 0 :(得分:1)
a
个元素没有禁用状态。 jQuery UI通过其自己的disabled
option为其按钮提供禁用状态,如下所示(如文档所示):
$("#save-user" .button( "option", "disabled", true );
旁注:在做的元素具有禁用状态(如input
元素)上,您使用prop
(prop("disabled", true)
),而不是{{1 (attr
),用于更改该属性的状态。 (如果你使用attr("disabled", true)
,jQuery会尝试为你做正确的事情,但最好理解属性和属性之间的区别并使用正确的访问器。)你可以使用属性对于它,设置为attr
,清除为.attr("disabled", "any-string-here")
。但.removeAttr("disabled")
更清晰,更简单。
附注2:由于您的prop
元素不是链接,因此请考虑使用a
或button
。他们做具有您可以通过input
设置的禁用状态(但如果您这样做,您还必须告诉jQuery UI通过refresh
更新按钮外观)。
答案 1 :(得分:0)
禁用属性仅关联按钮和输入文件结构,您要在此处执行的操作是event.preventDefault。它会像禁用一样工作,但它取决于你的编码,如果要显示它已禁用,你必须通过jquery添加add
答案 2 :(得分:0)
a
没有禁用属性。但你可以使用CSS禁用它。
.disabled {
pointer-events: none;
cursor: default;
opacity: 0.6;
}
$("#save-user").addClass('disabled');
答案 3 :(得分:-1)
简易解决方案:将a
代码更改为button
代码