删除输入jquery中的值时清除所有更改

clear all change when delete value in input jquery

本文关键字:清除 输入 jquery 删除      更新时间:2023-09-26

我在Javascript中遇到问题当您删除或更改字段的值时jquery效应仍然存在当我从输入中删除值时,有没有办法清除所有更改

这是一个例子http://enjaz.tech/xlab/progress/在类型2中尝试类型6

    $(document).ready(function() {
            $('#submit').click(function(e) {
            e.preventDefault();
           var pram = $('#getId').val()
            $.ajax({
                type: 'POST',
                url: 'call.php?q='+pram,
                success: function(data){
                    for(var i = 0 ; i < data ; i++){
                        var $steps = $('.amg-step');
                        if (i > 0) { $($steps[i - 1]).removeClass('--previous'); }
                        $($steps[i]).removeClass('--active').addClass('--complete').addClass('--previous');
                        if (i < $steps.length) { $($steps[i + 1]).addClass('--active'); }
                    }
                }
            });
        });
});

当输入为空时,需要清除所有类,然后只激活第一个类。使用以下代码

$('.amg-step').removeClass('--previous --complete --active'); //to clear all
$('.amg-step:eq(0)').addClass('--active'); // make first one active

将此代码放在ajax调用的正上方

您需要重置所有以前添加的类:

var $steps = $('.amg-step').removeClass('--previous').removeClass('--complete').removeClass('--active');

或者ajax success函数的缩短版本:

var $steps = $('.amg-step').removeClass('--previous --complete --active');
for(var i = 0 ; i < data ; i++){
    if (i > 0) { 
        $($steps[i - 1]).removeClass('--previous'); 
    }
    $($steps[i]).removeClass('--active').addClass('--complete').addClass('--previous');
    if (i < $steps.length) { $($steps[i + 1]).addClass('--active'); }
}

您可以设置全新的类属性

$('.amg-step').attr('class', 'amg-step');