如果检查了php条件,则通过JQuery将类添加到元素

时间:2019-03-29 00:59:10

标签: javascript php jquery

如果已检查php条件,则通过JQuery向元素添加类。 你好 此代码不起作用。 如果有人知道替代方法,我将不胜感激。谢谢。

<form method="post">
 <input class="blue" name="btn" type="Submit" value="Submit" />
</form>

<?php

if(isset($_POST["btn"])){
  $query = mysqli_query($con,"select * from table");
  $row = mysqli_fetch_assoc($query);
  $name = $row['name'];
  if($name == "kamal"){
    ?>
      <script type="text/javascript">
        $('.blue').addClass('green');
      </script>
    <?php
  }
  else{
    ?>
      <script type="text/javascript">
        $('.blue').addClass('red');
      </script>
    <?php
  }
}

?>

2 个答案:

答案 0 :(得分:1)

实际上您必须添加$(document).ready

像这样:

$(document).ready(function(){

   $('.blue').addClass('red').removeClass('blue');

});

这样,您可以在文档加载后调用jquery函数

-编辑-

通过方式,我建议您将其全部制成php或全部javascript。用php发送表单并用jquery替换类没有任何意义。实际上,您可以使用php中的简单echo来通过新类进行相同的打印结果。

但是,如果要使其动态化,可以使用jquery通过Ajax发送表单,以防止提交,从php路由获取响应并动态显示颜色变化而无需重新加载页面

答案 1 :(得分:0)

我建议您通过php处理此问题,因为在此示例中它更合逻辑

在这种情况下,我将类存储在变量中,并将其直接回显到元素的class属性中,如下所示:

<?php
$input_class = '';
if(isset($_POST["btn"])){
  $query = mysqli_query($con,"select * from table");
  $row = mysqli_fetch_assoc($query);
  $name = $row['name'];
  if($name == "kamal"){
    $input_class = 'green';
  }
  else{
    $input_class = 'red';
  }
}

?>

<form method="post">
 <input class="blue" name="btn" type="Submit" value="Submit" class="<?php echo $input_class; ?>"/>
</form>