在我的PHP / MySQL while循环中为活动供稿选择数据时,我试图在每个帖子下面显示评论,以便当您点击“显示”时,它会显示所有评论。
我在while循环中使用以下代码(因此每次单独更新都会动态显示多次):
<script language="javascript">
function toggle' . $act_item_id . '() {
var ele = document.getElementById("toggleText' . $act_item_id . '");
var text = document.getElementById("displayText' . $act_item_id . '");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "show";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
</script>
<a id="displayText' . $act_item_id . '" href="javascript:toggle' . $act_item_id . '();">show</a>
<div id="toggleText' . $act_item_id . '" style="display: none">' . $responseList . '</div>
'。 $ act_item_id。 '包含更新的ID,使一切都独一无二。
单击show时,JavaScript不会显示div。
仅供参考:内容通过AJAX调用加载到另一个页面。
AJAX调用如下:
function list_activity(){
var hr = new XMLHttpRequest();
hr.onreadystatechange = function(){
if (hr.readyState==4 && hr.status==200){
document.getElementById("viewActivity").innerHTML = hr.responseText;
}
}
hr.open("GET", "listActivity.php?t=" + Math.random(), true);
hr.send();
}
答案 0 :(得分:0)
我不完全确定你可以创建和调用这样的JS函数。此外,我认为没有任何理由为每个部分重新创建功能。为什么不简单地参数化你的功能并每次更改参数?
定义一次功能
<script>
function toggle(act_item_id) {
var ele = document.getElementById("toggleText' . act_item_id . '");
var text = document.getElementById("displayText' . act_item_id . '");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "show";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
</script>
然后你可以循环
while (some condition) {
...
<a id="displayText' . $act_item_id . '" href="javascript:toggle('.$act_item_id.');">show</a>
<div id="toggleText' . $act_item_id . '" style="display: none">' . $responseList . '</div>
...
}