选中复选框时,在php中调用js函数

时间:2016-08-22 11:18:32

标签: javascript php mysql

我正在通过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)";
      }
}

1 个答案:

答案 0 :(得分:1)

请记住,所有PHP代码都是在页面发送到浏览器之前执行的,并且PHP无法看到之后页面上发生的任何事情。因此,PHP和HTML不会实时交互。

您的解决方案是使用 的Javascript来查看HTML和CSS样式中发生的事情。一种简单的方法是在JavaScript中的复选框检查事件上注册事件监听器。取消选中该框时,只需应用具有display:none样式的CSS类隐藏多边形。选中复选框后,删除该类,将再次出现多边形。