我的 wordpress 项目有以下问题:
我有 2 个 div 调用“div_sc_1”和“div_sc_2”,它们隐藏在我的页面上。如果它们未被“检查”,我想用 jQuery 函数 .show() 向它们显示。“已检查”状态写在我的数据库中。
用我的实际代码,如果只有 div_sc_1 或 div_sc_2 没有“检查”,一切都很好但是如果两个 div 都没有检查,只有一个正在显示,我不明白为什么。
这是我的代码:
foreach($list_id_scores as $scores){
$id_s = $scores->id_score;
$checked = $wpdb->get_var( "SQL query for 'checked' status");
if($checked == "1"){
echo " score n°".$id_s." is over<br />";
}else{
$div_id = "div_sc_".$id_s;
echo $div_id; /// this echo show me that my loop is working
?>
<script>
var div_sc = <?php echo json_encode($div_id); ?>;
jQuery(document).ready(function(){ jQuery("#"+div_sc).show(); });
</script>
<?php
}
}
你有什么问题?谢谢你的时间
您正在div_sc
多次定义全局变量。所有<script>
标签共享相同的范围,因此只保留一个值。.ready() 处理程序仅在定义所有变量(并且页面的其余部分已完成加载)之后执行,而不是在两者之间执行。
这样做可能会更好:
<script>
jQuery(document).ready(function(){
<?php
foreach($list_id_scores as $scores){
$id_s = $scores->id_score;
$checked = $wpdb->get_var( "SQL query for 'checked' status");
if($checked == "1"){
echo " score n°".$id_s." is over<br />";
}else{
$div_id = "div_sc_".$id_s;
echo $div_id; /// this echo show me that my loop is working
?>
jQuery("#"+<?php echo json_encode($div_id); ?>).show();
<?php
}
}
});
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句