我正在通过php创建一些复选框:
$query = mysql_query("SELECT user FROM login");
while ($row = mysql_fetch_assoc($query)) {
$readUser = $row['user'];
if($readUser == "mod"){}
else {
$checkboxUserId = $readUser;
echo "<p><input class='filled-in item' type='checkbox' id='$checkboxUserId' checked='checked' /><label for='$checkboxUserId'>Team: $checkboxUserId</label></p>";
}
之后的一些代码,我这样做:
我根据存储在数据库中的某些值,通过Javascript函数绘制了一些多边形。
$query = mysql_query("SELECT * FROM questionAnswers");
while ($row = mysql_fetch_assoc($query)) {
$readUser = $row['user'];
$someMoreVars = $row['var']; //like ten more or that
if ($user == "mod"){
if ($readUser == "mod"){}
else{
echo "drawUserPoly($someMoreVars, $iDontWantToListThemAll, $thatsJustForTheContext)";
//Some More Code here
}
现在出现问题:我需要检查复选框哪个被选中,所以我不会画它们,这需要实时更新(比如:再次勾选复选框,将绘制多边形,取消勾选复选框和多边形未绘制。)
我的尝试:
else {
if(isset($_POST['$readUser'])){
echo "drawUserPoly($someMoreVars, $iDontWantToListThemAll, $thatsJustForTheContext)";
}
}
我的第二次尝试:
else {
if($_POST['$readuser'] == 'checked'){
echo "drawUserPoly($someMoreVars, $iDontWantToListThemAll, $thatsJustForTheContext)";
}
}
答案 0 :(得分:1)
请记住,所有PHP代码都是在页面发送到浏览器之前执行的,并且PHP无法看到之后页面上发生的任何事情。因此,PHP和HTML不会实时交互。
您的解决方案是使用 的Javascript来查看HTML和CSS样式中发生的事情。一种简单的方法是在JavaScript中的复选框检查事件上注册事件监听器。取消选中该框时,只需应用具有display:none
样式的CSS类隐藏多边形。选中复选框后,删除该类,将再次出现多边形。