Javascript 在输入jquery中删除值时清除所有更改
我的Javascript有问题 当您删除或更改字段的值时 jquery效果仍然存在 当我从输入中删除值时,是否有方法清除所有更改 这就是一个例子 在第二种情况下尝试第六种Javascript 在输入jquery中删除值时清除所有更改,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我的Javascript有问题 当您删除或更改字段的值时 jquery效果仍然存在 当我从输入中删除值时,是否有方法清除所有更改 这就是一个例子 在第二种情况下尝试第六种 $(document).ready(function() { $('#submit').click(function(e) { e.preventDefault(); var pram = $('#getId').val()
$(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'); }
}
}
});
});
});
$(文档).ready(函数(){
$(“#提交”)。单击(函数(e){
e、 预防默认值();
var pram=$('#getId').val()
$.ajax({
键入:“POST”,
url:'call.php?q='+pram,
成功:功能(数据){
对于(变量i=0;i0){$($steps[i-1]).removeClass('--previous');}
$($steps[i]).removeClass('--active').addClass('--complete').addClass('--previous');
if(i<$steps.length){$($steps[i+1]).addClass('--active');}
}
}
});
});
});
您需要重置以前添加的所有类:
var $steps = $('.amg-step').removeClass('--previous').removeClass('--complete').removeClass('--active');
或者是ajaxsuccess
函数的简化版本:
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'); }
}
var$steps=$('.amg step').removeClass('--previous--complete--active');
对于(变量i=0;i0){
$($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调用的正上方您可以设置全新的类属性
$('.amg-step').attr('class', 'amg-step');
当元素可能有除所有
--
前缀类之外的其他类时,这可能无法正常工作-当我添加此代码时,它也将删除这些类,只留下amg步骤
(但对于此特定场景是可以的)。。当我从输入中删除值时,我需要它。将它添加到您的var pram=$(“#getId').val()
行。@haitham如果我或Alon Eitan的答案解决了您的问题,那么我建议您将它们中的任何一个标记为答案,如果答案只是第一行代码,那么请按照他最初的建议标记Alon Eitan的答案。