更新$.ajax之后的类数组
Update class array after $.ajax
我有一个列表中的一组按钮,其中一些有disabled
类。
我想做什么
当我单击非禁用按钮时,我想将禁用添加到所有按钮。完成ajax请求后,我想只有以前和点击按钮有一个disabled
类。
我试着
$(document).on('click', '.myButton', function (e) {
/* Get this Button */
var $btn = $(this);
/* Get all disabled Buttons */
var allDisabled = $('.disabled');
/* Add disabled to all buttons */
$('.buttonAction').addClass('disabled');
/* Do Ajax Stuff */
$.ajax({
type: 'GET',
...
success: function (data) {
/* Remove all 'disabled' from Buttons */
$('.buttonAction').removeClass('disabled');
/* Add 'disabled' to this Button */
$btn.addClass('disabled');
/* Add 'disabled' to all previous Buttons */
allDisabled.each(function(){
$(this).addClass('disabled');
});
},
...
});
});
不幸的是,allDisabled.each
函数将disabled
分配给所有按钮。
我错在哪里?
您只能操作那些需要暂时禁用的按钮,而不是删除和添加所有对象的类:
$(document).on("click", ".my-button", function() {
var $btn = $(this);
var $disableDuringAjax = $(".buttonAction:not(.disabled)").addClass("disabled");
$.ajax({
type: 'GET'
})
.done(function (data) {
$disableDuringAjax.removeClass("disabled");
$btn.addClass('disabled');
});
});
这样,disabled
类将不会被切换两次按钮,这应该是不启用的。
相关文章:
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- Javascript删除数组中某个位置之后的项
- 数组在JavaScript中不是null,但在PHP'Ajax之后的s$_POST
- 如何在加号运算符之后选择数组元素的一部分
- 如何在Javascript中的对象数组的最后一个对象之后附加几个新对象
- 用于在数组比较之后由于某种原因而爆发循环
- 在JavaScript中,按日期和之后的名称过滤数组
- For 循环成功地将元素添加到数组中,但在之后返回空数组
- 在 sort() 之后,十进制数的 JavaScript 数组顺序不正确
- 在 .slice 之后重置 JSON 数组
- 异步:在回调中获取 For 之后的空数组
- 在 Jquery Ajax IE 之后访问 getElementsByName 数组
- 在 JavaScript 函数之后保留原始数组
- 未引用的数组在“切片”之后不那么未引用
- 为什么在 Promise.all() 之后没有调用 onJect,其中数组中包含的 Promise.reject() 传
- 在javascript中从矢量数组创建2D矩阵.- 缺少 ) 在参数列表之后
- 在输入数组的 split() 和子字符串 () 之后的文本区域中显示
- 在 JavaScript 中获取某个索引之后的数组中的所有元素
- 第一个100个素数javascript,为什么在我的素数数组之后没有定义
- 在数组之后添加断点