使用php变量进行Javascript切换显示底部div而不是唯一div

时间:2014-02-15 13:44:57

标签: javascript php

我为我正在处理的项目网站建立了状态和回复系统。

我将隐藏按钮内每个状态帖子的回复框,并使用js中的.toggle()功能使其显示onclick并再次隐藏onclick。我使用PHP variable作为hidden div的id,Variable包含数据库状态的id,因为这是使每个状态唯一的唯一因素,因此使用此作为回复的div ID是有意义的,因为它会为每个回复框提供其父级的ID,使其成为回复框链接的每个状态的唯一回复框。下面的toggle function切换没有问题,因此我知道id的{​​{1}}适用于div,并且切换功能可以获取内容中的ID php变量。

我遇到的问题是切换功能本身只是切换底部id的回复框,无论按下什么回复按钮,例如状态1,2或回复3.图像显示的是显示,这是在按下顶级状态div按钮之后。显示的回复框也只链接到底部open reply,所以如果我按下顶部div按钮,则底部状态下方显示的回复框仅发送回复到底部状态,而不是到顶部一个,所以无论按下什么按钮,它都会打开底部状态回复框。

我道歉,因为我要在这里发布实际图像,但我不能因为我没有10的声誉。如果我到10,我将删除此文本并链接并将其替换为图像。 open reply

请忽略这样一个事实,即回复没有显示在他们自己的div中,并且在图片中显示为黑色写入,因为我还没有创建css代码以便以整洁的方式显示这些。

下面是两个版本的js切换功能,它们都可以工作,但它们都能解决上述问题 脚本1

http://gyazo.com/97e8ac89ec623d5a876ee2ebb63fe8fb

这是脚本2具有相同效果的

<script>
var show;
show = '<?= $status_id ?>';

     function showreply() { 
       $('#' + show).toggle();
    }
    </script>

下面是php代码,其中<script> function showreply() { $('#<?php echo $status_id?>').toggle(); } </script> 使用js切换,并且具有使用php变量设置的唯一ID。

div

正如我所说的问题是js脚本没有针对每个唯一的div运行,并且仅适用于底部div,无论是显示的是2还是10个div。它跳过它上面的所有div并认为所有$mail .= '<div id="'.$status_id.'" class="replyholder">.......THIS IS THE CONTENT......</div>'; 按钮都属于底部div。

下面是单击时运行js脚本的按钮代码。

open reply

这个按钮代码放在我实际代码中使用js脚本切换的$mail .= '<button class="replybutton" onclick="showreply();">Open Reply</button>'; 之上,所以请不要认为我在div下面有这个按钮。

如果有可能做我想做的事,有谁知道如何解决这个问题。我很感激任何人都可以提供任何帮助,因为我不能继续使用这个状态系统,因为我还需要采用相同的js脚本来切换回复的查看,这样我就能整齐地压缩我网站上的所有内容。

感谢您阅读本文,我期待您的回答

1 个答案:

答案 0 :(得分:1)

试试这种方式

的javascript:

<script>
 function showreply(elem) { 
       $(elem).next("div").toggle();
    }
</script>

PHP:

$mail .= '<button class="replybutton" onclick="showreply(this);">Open Reply</button>';