第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ID 在 PHP 的 while 循環(huán)中未按預(yù)期工作

ID 在 PHP 的 while 循環(huán)中未按預(yù)期工作

PHP
蕭十郎 2023-07-01 15:30:24
我正在嘗試創(chuàng)建一個 while 循環(huán),為每個 $version 值回顯一個按鈕。shell_exec() 從 Python 文件返回一個值,并響應(yīng)唯一的 $version 值。為此,基本目標(biāo)是創(chuàng)建一個頁面,其中按鈕的數(shù)量取決于版本值。然后,用戶可以單擊任何特定按鈕并訪問該特定按鈕(版本)的數(shù)據(jù)。為此,我嘗試將變量與 ID 混合使用,但似乎不起作用。我可以做什么來解決這個問題?目前所有按鈕都沒有響應(yīng)。代碼:<?php                                          while ($version != 0) {                echo '                <br>                <br>                <button id="toggle-' . $version . '">TOGGLE</button>                <div style= "display:none;" id="content-' . $version . '">                ';                $command = escapeshellcmd("C:/Python38/python.exe C:/xampp/htdocs/Ensemble/login/test.py $email $version");                 $output = shell_exec("$command 2>&1");                echo($output);                echo '                </div>                <script>                var toggle  = document.getElementById("toggle-' . $version . '");                var content = document.getElementById("content-' . $version . '");                toggle.addEventListener("click", function() {                  content.style.display = (content.dataset.toggled ^= 1) ? "block" : "none";                });                </script>                '                ;                $version--;              }            ?>編輯一個新的問題出現(xiàn)了。只有其中一個按鈕起作用。單擊這兩個按鈕時會輸出相同的內(nèi)容,而不是不同的版本。在 SQL 中,所有版本都不同,因此這很可能是 html/JS 的錯誤。
查看完整描述

2 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊

也許以下內(nèi)容可能會有所幫助 - 盡管就 Python 調(diào)用而言還沒有經(jīng)過測試,但我認(rèn)為如果我理解正確的話,其他代碼應(yīng)該可以正常工作。


每個 ID 在 DOM 中都必須是唯一的,我猜這就是為什么你試圖通過$version向每個 ID 添加數(shù)字來使它們?nèi)绱?。querySelectorAll如果您使用合適的表達(dá)式,這并不是真正必要的。與普通 javascript 中存在的一個或多個父/同級選擇器結(jié)合執(zhí)行此操作可以相當(dāng)輕松地進(jìn)行 DOM 導(dǎo)航和操作。這也意味著您可以對所有按鈕使用同一段代碼......希望它有所幫助。


<?php

    while( $version > 0 ) {

    

        $command = escapeshellcmd( "C:/Python38/python.exe C:/xampp/htdocs/Ensemble/login/test.py $email $version" ); 

        $output = shell_exec("$command 2>&1");




        printf('

            <br />

            <br />

            

            <button data-version="%d">Toggle</button>

            <div style="display:none">%s</div>', 

            $version,

            $output 

        );


        $version--;

    }

    

    echo "

    <script>

        Array.from( document.querySelectorAll('button') ).forEach( bttn=>{

            bttn.addEventListener('click', function(e){

                let version=this.dataset.version;

                let div=this.nextElementSibling;

                    div.style.display=div.style.display=='block' ? 'none' : 'block';

                

            });

        })

    </script>";

?>


查看完整回答
反對 回復(fù) 2023-07-01
?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊

代替

<div style= "display:none;" "id="content-' . $version . '">

<div style= "display:none;" id="content-' . $version . '">

并嘗試。


查看完整回答
反對 回復(fù) 2023-07-01
  • 2 回答
  • 0 關(guān)注
  • 173 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號