我想在我通过AJAX调用发送的变量中保存元素的背景颜色,所以我可以在PHP SESSION中使用它,但由于某种原因我无法将此css保存在变量中。
var color_rgb = $( "#config-steps #selected-color" ).css( 'background-color' );
我的AJAX调用工作正常,我已测试将测试字符串放在color_rgb
中,这样可以正常工作。
$.ajax( {
type: "POST",
url: sbg.ajaxurl,
data: {
color_rgb: color_rgb,
action: 'sbg_config'
}
});
有谁知道如何解决这个问题?
答案 0 :(得分:1)
试试这个,
function hexc(colorval) {
var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete(parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = parseInt(parts[i]).toString(16);
if (parts[i].length == 1) parts[i] = '0' + parts[i];
}
return '#' + parts.join('');
}
var color_rgb = $("#config-steps #selected-color").css( 'background-color' );
$.ajax( {
type: "POST",
url: sbg.ajaxurl,
data: {
// set default black, if not color found, else convert it by hex function
color_rgb: color_rgb ? hexc(color_rgb) : '#000000',
action: 'sbg_config'
}
});
检查选择器的id
。是否存在。
答案 1 :(得分:0)
在Ajax中将变量转换为String,如下所示:
$.ajax( {
type: "POST",
url: sbg.ajaxurl,
data: {
color_rgb: String(color_rgb),
action: 'sbg_config'
}
});