Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery addClass和removeClass在keyup ajax调用中不起作用_Jquery - Fatal编程技术网

jQuery addClass和removeClass在keyup ajax调用中不起作用

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”]

我试图禁用一个输入时,有一个结果从数据库上键控功能。addClass和removeClass不工作。他们根本不开火。谢谢你的帮助

$(“#患者代码”).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);