jQuery addClass和removeClass在keyup ajax调用中不起作用
我试图禁用一个输入时,有一个结果从数据库上键控功能。addClass和removeClass不工作。他们根本不开火。谢谢你的帮助jQuery addClass和removeClass在keyup ajax调用中不起作用,jquery,Jquery,我试图禁用一个输入时,有一个结果从数据库上键控功能。addClass和removeClass不工作。他们根本不开火。谢谢你的帮助 $(“#患者代码”).keyup(函数(){ var patient_code=$(this.val(); var patient_category=$('#patient_category').val(); var medicine_id=$('#medicine').val(); var formData={ _令牌:$('[name=“csrf_token”]
$(“#患者代码”).keyup(函数(){
var patient_code=$(this.val();
var patient_category=$('#patient_category').val();
var medicine_id=$('#medicine').val();
var formData={
_令牌:$('[name=“csrf_token”]')。attr('content'),
患者代码:患者代码,
药品编号:药品编号,
患者类别:患者类别
}
$.ajax({
类型:“POST”,
url:“/medicines/confirmation/checkConfirmation”,
数据:formData,
数据类型:“JSON”,
成功:功能(响应){
if(!jQuery.isEmptyObject(响应.确认\状态)){
$(“.patient_有确认表”).show();
$(“.selected_patient_code”).html(响应。确认状态[0]。患者代码);
//这不是开火
$(“.btnsaveconfimation”).removeClass().addClass(“btn btn边界btn危险btn lg禁用”).attr(“禁用”,true);
log(“该患者代码有结果”);
}否则{
$(“.patient_有确认表”).hide();
//这不是开火
$(“.btnsaveconfimation”).removeClass().addClass(“btn btn borders btn success btn lg”).attr(“已禁用”,false);
log(“该患者代码没有结果”);
}
},
错误:函数(jqXHR、textStatus、errorshown、data){
log(jqXHR、textStatus、errorshown、data);
}
});
});代码>如果你这样做,它能工作吗?我不确定jquery是否在removeClass
之后正确处理addClass
$(".btnSaveConfirmation").removeClass();
$(".btnSaveConfirmation").addClass("btn btn-borders btn-success btn-lg");
$(".btnSaveConfirmation").attr("disabled", false);
编辑:
addClass
和attr
不工作,因为您删除了.btnsaveconfimation
class..为什么希望/addClass工作
将某些内容馈送到.removeClass('Someclass')
如果要删除选择它的同一个类.removeClass('BTNSAVeconfimation')
,它将如何识别要向其中添加类的元素
所以你的方法应该是这样的--
您正在删除按钮类,使用removeClass
(BTNSAVeconfimation),您应该在remove中使用特定的类,如$(“…”)。removeClass('btn btn lg btn disabled…')代码>
这意味着,您触发addClass removeClass一次,然后它找不到按钮
解决这个问题的最佳方法是使用id
进行识别,而不是使用class,然后您可以简单地从按钮中删除所有class,它就会工作
$(“#患者代码”).keyup(函数(){
log(“我在按键时触发!”);
if($(“.btnsaveconfimation”)[0])$(“.btnsaveconfimation”).removeClass().addClass(“btn btn边界btn危险btn lg禁用”).attr(“禁用”,true);
else console.log(“没有类为btnsaveconfimation的按钮”);
});代码>
#患者代码{宽度:200px;边框半径:4px;边框:1px实心#444;填充:0px 5px;高度:25px;线条高度:25px;轮廓:无;}
.btn{
边框:1px纯绿色;
}
.btn危险{背景:红色;}
.btn lg{高度:200px;}
.disabled{不透明度:0.5;}
按钮类更改
您确定AJAX请求已成功完成吗?这些类是否实际应用于DOM中?他们的规则够具体吗?@Rorymcrossan是的。如果有结果,则返回一个数组,如果没有,则返回为空。页面上只有一个具有该类的输入。在ajax调用中,类根本没有附加。但是如果我从else中删除removeClass,它会工作并禁用buttonTry,将其分隔为不同的行,并检查问题的确切位置,这可能会有所帮助。谢谢,你给了我一个新的东西来了解…:当你对自己的回答有点把握时,请回答。
$(".btnSaveConfirmation").addClass('NewClass');
$('.NewClass').removeClass(".btnSaveConfirmation").addClass("btn btn-borders btn-success btn-lg").attr("disabled", false);