Javascript jQuery复选框禁用并添加类
我有一个表,其中有行列表,每行有两个复选框 我试图做的是,当有人选中复选框时,它会使用ajax向服务器发送请求,如果它通过了,则使用数据响应。如果失败,则将tr颜色更改为绿色。我完成了此步骤 现在我想当它成功时,它应该启用同一tr上的其他复选框,以便现在用户可以进行第二步Javascript jQuery复选框禁用并添加类,javascript,jquery,ajax,checkbox,Javascript,Jquery,Ajax,Checkbox,我有一个表,其中有行列表,每行有两个复选框 我试图做的是,当有人选中复选框时,它会使用ajax向服务器发送请求,如果它通过了,则使用数据响应。如果失败,则将tr颜色更改为绿色。我完成了此步骤 现在我想当它成功时,它应该启用同一tr上的其他复选框,以便现在用户可以进行第二步 $(“#SendReview”)。单击(函数(){ var selected=“”; $('.ReviewForm')。每个(函数(){ selected=selected+“,”+$(this.attr('id'); })
$(“#SendReview”)。单击(函数(){
var selected=“”;
$('.ReviewForm')。每个(函数(){
selected=selected+“,”+$(this.attr('id');
});
$.ajax({
url:'@url.Action(“VerifyFormRquest”,“结果”),
类型:“POST”,
数据:{
scanid:已选择
},
成功:函数(数据、文本状态、jqXHR){
警报(数据。成功);
data.success.split(',).forEach(函数(c){
如果(c!=“”){
var m=$('#示例tr:has(td:contains('+c+')))).css('background-color','lightgreen');
}
});
},
错误:函数(jqXHR,textStatus,errorshown){}
});
});代码>
您可以使用prop
方法执行此操作
$(“#myOtherCheckbox”).prop(“禁用”,false)代码>
如果还要向其中添加类,请执行以下操作:
$(“#myOtherCheckbox”).prop(“disabled”,false).addClass(“someClass”)代码>您应该使用
("#J15000012").prop("disabled",false);
要选中复选框而不是使用.removeAttr
,因为从jquery 3
开始,它不会将值设置为false
,因为您已经有了获取td
的模式,所以可以使用next('td')
获取下一个:
问题是什么?他说了他想做的事。他希望在AJAX请求成功时启用第二个复选框。您需要实现call()函数,该函数具有AJAX调用。在ajax调用中,如果成功启用另一个复选框,如果失败,则将代码添加到ajax的错误函数中。他正在尝试启用复选框,而不是选中它。是的,你是对的,我忽略了启用的作为选中的@adosi我现在做的是在我的类中添加labid作为类,然后添加$('.+c)。prop('disabled',false);谢谢!!这是做的正确方法。removeattr
不再将属性设置为false。prop
更有效使用。在这种情况下,prop
更受欢迎。请看我现在所做的,我在类中添加labid作为类,然后添加$('.+c)。prop('disabled',false);谢谢!!从jQuery 3开始,removeAttr
不再使用将相应的属性设置为false
。prop
是将属性设置为true或false的正确方法感谢@MuhammadOmerAslam..第一条评论中已经提到。不是我的..而是$(“#myOtherCheckbox”)
并不是这样做的正确选择器…我有一个表,表中有行列表,每行有两个复选框,您的选择器将指向这两行?我现在所做的是将labid添加为类,然后在类中添加$('.+c).prop('disabled',false);谢谢!!
var current_td = $('#example td:contains('+ c +')');
//If the current td found get the next one and remove the disabled property
if( current_td.length > 0 ){
current_td.next('td').prop('checked',false);
}