簡體   English   中英

JavaScript不會顯示/隱藏div-使用PHP / MySQL

[英]JavaScript won't show/hide div - working with PHP/MySQL

在我的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,使所有內容唯一。

當您單擊顯示時,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();
}

我不完全確定您可以像這樣創建和調用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>
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM