Jquery prop函数无法禁用按钮
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery prop函数无法禁用按钮相关的知识,希望对你有一定的参考价值。
我正在使用JQuery函数“ prop”将按钮的状态更改为禁用一会儿,完成处理后,它将再次使用“ prop”函数来启用按钮。
但是它不起作用,我也不知道为什么。我有其他JS文件,在同一个示例中可以正常工作,只是在这种情况下它是行不通的。
可能会发生,因为函数调用是不同的,在其他文件中,它使用JQuery来检测事件并为按钮调用函数,而不是使用“ href”属性来引用函数。但是我不确定这是否是原因。
按钮html:
<a type="button" class="btn btn-sky" id="btnFind" value="" href="javascript:getRegistros()">
Buscar </a>
和Javascript函数:
function getRegistros() {
if ($("#formReg").valid()) {
$("#btnFind").html("<i class='fa fa-refresh fa-spin'></i> Buscando");
$("#btnFind").prop("disabled", true);
.
.
.
<<looking data>>
.
.
.
$("#btnFind").html("Buscar");
$("#btnFind").prop("disabled", false);
}
}
任何想法都可以帮助,谢谢。
答案
HTML锚标记没有类型属性。因此,使用按钮的更好方法是使用<button>
标记或<input type="button">
标记,可以使用jquery prop方法将禁用的属性设置为true / false。但是,如果要使用相同的标签,则需要将其更改为:<a type="button" class="btn btn-sky" id="btnFind" value="" href="#" onclick="getRegistros()">
Buscar </a>
您需要使用$("#btnFind").attr("disabled", true);
设置属性。
如果要在禁用按钮后执行此操作,则不应调用该函数,您可以按照下面的代码段所示修改代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<meta charset="UTF-8">
<title>demo</title>
<script>
function getRegistros(el) {
if(!$(el).hasClass("disabled")){
$("#btnFind").html("<i class='fa fa-refresh fa-spin'></i> Buscando");
$("#btnFind").attr("disabled", true);
$("#btnFind").addClass("disabled");
}
}
</script>
</head>
<body>
<a type="button" class="btn btn-sky" id="btnFind" value="" href="#" onclick="getRegistros(this)">
Buscar </a>
</body>
</html>
以上是关于Jquery prop函数无法禁用按钮的主要内容,如果未能解决你的问题,请参考以下文章