错误代码$(this)执行不成功:
$('input[name="customfield_id[]"]').not('input:checked').click(function () {
var field_id = $(this).val(); //$(this)这里执行成功
var url = 'xxx/customfield_pro.php?doAction=CheckfieldValue&field_id='+field_id;
$.ajax({
type: "post",
contentType: "application/json; charset=utf-8",
url: url,
dataType: "json",
success:function(data){
if(data.status==0){
$(this).attr("checked",false); //$(this)这里执行不成功
alert(data.msg);
}
}
});
$(this).val();
});如下修改后能成功执行:
正确做法:你那个this指向的是ajax的配置,不是按钮,请认真看jquery的API,要做个闭包
$('input[name="customfield_id[]"]').not('input:checked').click(function () {
var field_id = $(this).val();
var e = this; //这里先赋值
var url = 'xxx/customfield_pro.php?doAction=CheckfieldValue&field_id='+field_id;
$.ajax({
type: "post",
contentType: "application/json; charset=utf-8",
url: url,
dataType: "json",
success:function(data){
if(data.status==0){
$(e).attr("checked",false); //这是执行时成功的
alert(data.msg);
}
}
});
$(this).val();
});