【问题标题】:GetElementByID Dynamic php ID to js function callGetElementByID 动态 php ID 到 js 函数调用
【发布时间】:2017-11-02 14:42:54
【问题描述】:

谁能帮我解决这个小问题。如果单击,我试图更改页码的类别。但我尝试使用动态 php ID 通过 js 函数调用。下面的代码应该告诉你我的意思,基本上这个函数会改变所选数字的类。

echo"
 <div class='pagebuttonsdiv'>";
     for ( $x =0 ; $x < $pagesnum ; $x++ ) {   
         $pagex=$x+1;
         if ($pagex<1) {$pagex==1;} 
         if ($pagex>$pagesnum) {$pagex==$pagesnum;};
         if ($x > $pagesnum) {$x==$pagesnum;}

        echo "
        <div id='{$x}' class='pagebuttons' onclick='pageclick({$x},
        {$display}, {$maxresults} , {$startfrom});'>
        {$pagex}</div>";

                if ($x==$ifclicked) {?>
                    <script type="text/javascript">
                           document.getElementById({$x}).className = 
                           'pagebuttonsclicked';}
                    </script>
                    <?php 
                };

     };

echo"
</div>
";

任何人都知道我应该如何解决这个问题,非常感谢。

【问题讨论】:

  • 您所拥有的似乎有点令人困惑, $ifclicked 在哪里定义?您的 pageclick() 方法在哪里定义?我认为您在这里混合了 php 和 js 执行...
  • $Ifclicked 只是简单地由 js 函数中 div 的 onclick 定义 - $ifclicked = {$x}->点击的次数...其他变量用于其他帖子...。在这个函数中... function pageclick(pagex , display , maxresults , startfrom){ var startfrom=pagex*display document.getElementById('startpoint').value =(startfrom); document.getElementById('pagecurrent').value =(pagex); document.getElementById('pagechange').submit();返回假; }
  • 请将其添加到您的问题中,格式化。此外,$ifclicked 位于 PHP 块中,这在任何 javascript 执行之前很久就发生了。你要么需要 AJAX,要么重新调整你正在做的事情。

标签: php getelementbyid jscript


【解决方案1】:
    <div id="id[<?php echo $x; ?>]" class="pagebuttons" onclick="pageclick(<?php echo$x; ?>)">
    {$pagex}</div>

不确定为什么要在函数中发送所有这些变量。你只需要 id 来改变它。

【讨论】:

  • 我希望点击的页码在点击后也能突出显示。所以它保持点击状态。但 onclick 只更改类直到 POST ,然后数字恢复正常......所以我看不到我点击了哪个页面......
  • 当然它受不了那堂课。因为您使用的 javascript 仅适用于该页面。如果您的点击将转到下一页或使用 php 或其他语言重新加载同一页面。如果在同一页面上,您应该使用要突出显示的 id(与该类一起)。使用 GET 或 POST 方法。如果它要进入一个全新的页面,只需自己将类赋予该特定 ID。
【解决方案2】:

简单的答案 -

        echo"

          ";
for ( $x =0 ; $x < $pagesnum ; $x++ ) {   

         $pagex=$x+1;
         if ($pagex<1) {$pagex==1;} 
         if ($pagex>$pagesnum) {$pagex==$pagesnum;};
         if ($x > $pagesnum) {$x==$pagesnum;}


        echo "

        <div id='{$x}' class='pagebuttons' onclick='pageclick({$x},{$display}, {$maxresults} , {$startfrom});'>
        {$pagex}</div>";

            if ($x==$ifclicked) { echo " <script> document.getElementById({$x}).className='pagebuttonsclicked' </script> ";};  


};


    echo"
    </div>

    <br>

    ";

从 php 调用函数来改变类。 = 单击数字,它会根据新的 css 类更改其类以更改您希望更改的任何内容...我更改了边框环绕颜色...

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多