我刚开始用PHP,我有一个空单元格的表。我想在用户点击它时更改每个单元格的颜色。到目前为止,我有以下代码:
我的HTML /我如何调用该功能:
<td onclick="javascript: this.style.backgroundColor='<?php toggleColor(); ?>'"></td>
我的功能:
function toggleColor(){
global $bgcolor;
if($bgcolor == 'white'){
echo "#2E2E2E";
$bgcolor = 'gray';
}
else if ($bgcolor == 'gray'){
echo "#2E2E2E";
$bgcolor = 'white';
}
else {
echo "#2E2E2E";
$bgcolor = 'white';
}
}
现在发生的是,单元格onclick
变为灰色。但是当我再次点击它时,没有任何反应。
请帮忙!谢谢!
答案 0 :(得分:1)
Ya有混合服务器端代码(php)和客户端代码(js)。 php代码仅在呈现页面之前在服务器上执行。一旦进入浏览器(客户端),只有javascript代码可以工作。您应该更改JavaScript代码,现在您只设置背景颜色,但是您无法控制如何在客户端上切换回白色:
<script type="text/javascript">
$(document).ready(function(){
$('#my-table').on('click', function(){
$(element).toggleClass('bg-grey');
});
});
</script>
<table id="my-table">
<td onclick="toggleBackground(this)"></td>
</table>
注意:代码尚未经过测试,但是说明了这种做法。
答案 1 :(得分:0)
你不能直接使用javascript调用php函数。所以你需要在javascript中定义php函数。我已经更新了js函数,如下所示。
var bgcolor;
function toggleColor(){
if(bgcolor == 'white'){
bgcolor = 'gray';
return "#2E2E2E";
}
else if (bgcolor == 'gray') {
bgcolor = 'white';
return "#2E2E2E";
}
else {
bgcolor = 'white';
return "#2E2E2E";
}
}