如何 return DOM 之后的按钮与 jquery
how to return a button after DOM with jquery
我想在这里问一下 我尝试进行 HTML 操作,当单击按钮时它会将数据发送到 ajax,在 ajax 给出响应之前按钮将被禁用了,这里的问题是我想把按钮恢复到最开始怎么办?
还有我的HTML
<button
type="button"
href=""
id="bank"
query-string="{{$assessment['user_id'].'&type=bank&name=american'}}"
data-toggle="tooltip"
data-placement="bottom"
title=""
data-original-title="Detail Mutation Bank BCA"
class="btn btn-soft-dark mt-1 mr-1"
>
mutation
</button>
<script>
var bank = $("#bank").attr("query-string");
var btnText = $(this);
var btn = $(this);
$(btn)
.html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>`
)
.attr("disabled", true);
$.ajax({
type: "get",
url: "{{route('getDescription')}}" + "?id=" + bank,
dataType: "json",
success: function(data) {
console.log(data);
if (data.status == "error") {
createAlert(data.message, "danger");
} else {
window.open(data.url, "_blank");
}
}
//here i want to restore button
});
</script>
您应该将之前的 HTML 内容存储为 rootTextOfButton
值,例如
var rootTextOfButton = $(this).html();
然后就可以恢复了
btn.html(rootTextOfButton); //here i want to restore button
此外,您还应该删除 disabled
属性,例如 btn.removeAttr("disabled");
完整代码
var rootTextOfButton = $(this).html();
var btn = $(this);
$(btn).html(`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>`).attr("disabled", true);
$.ajax({
type:"get",
url:"{{route('getDescription')}}"+"?id="+bank,
dataType:"json",
success:function(data){
console.log(data);
if(data.status=='error'){
createAlert(data.message, "danger");
}else{
window.open(data.url, '_blank');
}
btn.html(rootTextOfButton); //here i want to restore button
btn.removeAttr("disabled");
}
});
我想在这里问一下 我尝试进行 HTML 操作,当单击按钮时它会将数据发送到 ajax,在 ajax 给出响应之前按钮将被禁用了,这里的问题是我想把按钮恢复到最开始怎么办? 还有我的HTML
<button
type="button"
href=""
id="bank"
query-string="{{$assessment['user_id'].'&type=bank&name=american'}}"
data-toggle="tooltip"
data-placement="bottom"
title=""
data-original-title="Detail Mutation Bank BCA"
class="btn btn-soft-dark mt-1 mr-1"
>
mutation
</button>
<script>
var bank = $("#bank").attr("query-string");
var btnText = $(this);
var btn = $(this);
$(btn)
.html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>`
)
.attr("disabled", true);
$.ajax({
type: "get",
url: "{{route('getDescription')}}" + "?id=" + bank,
dataType: "json",
success: function(data) {
console.log(data);
if (data.status == "error") {
createAlert(data.message, "danger");
} else {
window.open(data.url, "_blank");
}
}
//here i want to restore button
});
</script>
您应该将之前的 HTML 内容存储为 rootTextOfButton
值,例如
var rootTextOfButton = $(this).html();
然后就可以恢复了
btn.html(rootTextOfButton); //here i want to restore button
此外,您还应该删除 disabled
属性,例如 btn.removeAttr("disabled");
完整代码
var rootTextOfButton = $(this).html();
var btn = $(this);
$(btn).html(`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>`).attr("disabled", true);
$.ajax({
type:"get",
url:"{{route('getDescription')}}"+"?id="+bank,
dataType:"json",
success:function(data){
console.log(data);
if(data.status=='error'){
createAlert(data.message, "danger");
}else{
window.open(data.url, '_blank');
}
btn.html(rootTextOfButton); //here i want to restore button
btn.removeAttr("disabled");
}
});