jQuery-can';t在ajax回调函数中设置css属性
我试图获得一个jqueryajax回调函数来更新表单元格的背景颜色,但是我无法让它工作 我有以下代码(在Firebug中不会产生错误): 我添加此警报只是为了确认我正在返回预期的数据(一个6位十六进制代码),确实如此,但我的表单元格的背景顽固地拒绝更改 所有表格单元格都有class.tariffdate,但也有单独的ID 作为测试,我尝试为该类创建一个悬停函数:jQuery-can';t在ajax回调函数中设置css属性,css,jquery,callback,background-color,Css,Jquery,Callback,Background Color,我试图获得一个jqueryajax回调函数来更新表单元格的背景颜色,但是我无法让它工作 我有以下代码(在Firebug中不会产生错误): 我添加此警报只是为了确认我正在返回预期的数据(一个6位十六进制代码),确实如此,但我的表单元格的背景顽固地拒绝更改 所有表格单元格都有class.tariffdate,但也有单独的ID 作为测试,我尝试为该类创建一个悬停函数: $(".tariffdate").hover(function () { $(this).css('background-col
$(".tariffdate").hover(function () {
$(this).css('background-color','#ff0000');
});
上面的方法很好用——所以我真的很困惑为什么我的回调函数不能正常工作。有什么想法吗?检查ajax回调函数中的“this”变量是什么。我怀疑它不是指.tariffdate检查ajax回调函数中的“this”变量。我怀疑它不是指AJAX完成处理程序中的.tariffdate,该的实例被更改为AJAX对象。您需要将
this
的实例保存到一个对象并使用该对象。例如:
$(".tariffdate").click(function () {
var property_id = $('#property_id').attr("value");
var tariff_id = $('#tariff_id').attr("value");
var tariff_date = $(this).attr("id");
var tariff = $(this);
$.post("/admin/properties/my_properties/booking/edit/*",
{ property_id: property_id, tariff_id: tariff_id, tariff_date: tariff_date },
function(data) {
var bgcol = '#' + data;
tariff.css('background-color',bgcol);
alert("Color Me: " + bgcol);
}
);
});
在AJAX完成的处理程序中,
this
的实例被更改为AJAX对象。您需要将this
的实例保存到一个对象并使用该对象。例如:
$(".tariffdate").click(function () {
var property_id = $('#property_id').attr("value");
var tariff_id = $('#tariff_id').attr("value");
var tariff_date = $(this).attr("id");
var tariff = $(this);
$.post("/admin/properties/my_properties/booking/edit/*",
{ property_id: property_id, tariff_id: tariff_id, tariff_date: tariff_date },
function(data) {
var bgcol = '#' + data;
tariff.css('background-color',bgcol);
alert("Color Me: " + bgcol);
}
);
});
你是个明星,这就是问题所在。谢谢你是个明星,这就是问题所在。谢谢