Jquery 在 PHP if 语句中
Jquery inside PHP if statement
需要帮助将一些 jquery 函数放入 if 语句中。当数据库中的数据为空时,我想隐藏我的 div。我已经这样做了,没有任何反应。
<?php if(empty($all_data)){ ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').css("display","none");
});
</script> <===update
<?php }else{ ?>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
<?php } ?>
是否可以在 php 里面放一些 jquery ??
试试吧。不想调用任何函数。
<?php if(empty($all_data)){ ?>
<?php
echo "<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>";
?>
<?php }?>
如果查询结果为空,只需要调用函数:
?php if(empty($all_data)){ ?>
<?php
echo "<script>hiding();</script>";
?>
<?php }else{ ?>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
<?php } ?>
然后是
<script>
$(document).ready(function () {
function hiding(){
$( '.table-wrapper').hide();
}
});
</script>
从来没有调用 hiding()
。因此,您有条件地 定义 在 PHP 中的函数,但您从未真正调用它。如果您希望该函数的内容在 if
块中执行,则不要声明 hiding()
函数,只需执行代码:
<?php if(empty($all_data)){
echo "<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>";
}else{ ?>
...
或者删除 echo
并直接发出输出,可能看起来更干净一些:
<?php if(empty($all_data)){ ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>
<?php }else{ ?>
...
不过,老实说,隐藏文档准备就绪可能不是最好的方法。如果 .table-wrapper
元素应该在页面呈现时隐藏,有条件地将它们设置为隐藏(或者如果它们不应该可见,则根本不将它们发送到页面,具体取决于页面的动态功能).发出可见输出然后隐藏它很容易导致糟糕的用户体验。最好一开始就将其隐藏或根本不发出。
嗯,删除function hiding(){}
。最好用php来做,比如
<?php if(!empty($all_data)){ ?>
<div class="table-wrapper">
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
</div>
<?php } ?>
试试这个
<!--Always generate table-->
<div class='table-wrapper'>
<table>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
</table>
</div>
<!-- Hide Wrapper if no data -->
<script>
var div = $(".table-wrapper");
if(div.html() == "<table></table>") {
div.css("display","none");
}
</script>
试试这个:
<?php if(empty($all_data)) : ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').css("display","none");
});
</script>
<?php else : ?>
<?php foreach($all_data->result() as $data) : ?>
<tr>
<td><?=$data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1) : ?>
<td>Login Site</td>
<?php else : ?>
<td>Logout Site</td>
<?php endif; ?>
<td>-</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
需要帮助将一些 jquery 函数放入 if 语句中。当数据库中的数据为空时,我想隐藏我的 div。我已经这样做了,没有任何反应。
<?php if(empty($all_data)){ ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').css("display","none");
});
</script> <===update
<?php }else{ ?>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
<?php } ?>
是否可以在 php 里面放一些 jquery ??
试试吧。不想调用任何函数。
<?php if(empty($all_data)){ ?>
<?php
echo "<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>";
?>
<?php }?>
如果查询结果为空,只需要调用函数:
?php if(empty($all_data)){ ?>
<?php
echo "<script>hiding();</script>";
?>
<?php }else{ ?>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
<?php } ?>
然后是
<script>
$(document).ready(function () {
function hiding(){
$( '.table-wrapper').hide();
}
});
</script>
从来没有调用 hiding()
。因此,您有条件地 定义 在 PHP 中的函数,但您从未真正调用它。如果您希望该函数的内容在 if
块中执行,则不要声明 hiding()
函数,只需执行代码:
<?php if(empty($all_data)){
echo "<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>";
}else{ ?>
...
或者删除 echo
并直接发出输出,可能看起来更干净一些:
<?php if(empty($all_data)){ ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').hide();
});
</script>
<?php }else{ ?>
...
不过,老实说,隐藏文档准备就绪可能不是最好的方法。如果 .table-wrapper
元素应该在页面呈现时隐藏,有条件地将它们设置为隐藏(或者如果它们不应该可见,则根本不将它们发送到页面,具体取决于页面的动态功能).发出可见输出然后隐藏它很容易导致糟糕的用户体验。最好一开始就将其隐藏或根本不发出。
嗯,删除function hiding(){}
。最好用php来做,比如
<?php if(!empty($all_data)){ ?>
<div class="table-wrapper">
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
</div>
<?php } ?>
试试这个
<!--Always generate table-->
<div class='table-wrapper'>
<table>
<?php foreach($all_data->result() as $data){ ?>
<tr>
<td><?php echo $data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1){ ?>
<td>Login Site</td>
<?php }else{ ?>
<td>Logout Site</td>
<?php } ?>
<td>-</td>
</tr>
<?php } ?>
</table>
</div>
<!-- Hide Wrapper if no data -->
<script>
var div = $(".table-wrapper");
if(div.html() == "<table></table>") {
div.css("display","none");
}
</script>
试试这个:
<?php if(empty($all_data)) : ?>
<script>
$(document).ready(function () {
$( '.table-wrapper').css("display","none");
});
</script>
<?php else : ?>
<?php foreach($all_data->result() as $data) : ?>
<tr>
<td><?=$data->id_history;?></td>
<td><?=$data->id_admin;?></td>
<td><?=$data->ipc;?></td>
<td><?=$data->task_date;?></td>
<td><?=$data->task_time;?></td>
<?php if ($data->id_task == 1) : ?>
<td>Login Site</td>
<?php else : ?>
<td>Logout Site</td>
<?php endif; ?>
<td>-</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>