0

ページが読み込まれるときに、JavaScript ループを生成したいと考えています。項目の総数は、ページに既に存在する PHP 文字列に依存します。

<script type="text/javascript">

function Generation(){
    var loopTotal = <?=$TotalNumberOfRows?>;
    var innerToUpdate=$("#loopItemSet");

    var page=0;
    for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
    {
        page++;
        // document.write(i);
        innerToUpdate.innerHTML="<a href='link.php?go="+i+"'> page number "+page+"</a>";
    }       
}

$(document).ready(function(){
    Generation();   
});

</script>

24 から 3 つのリンクを返す必要があり、52 に 3 回入ります。

4

3 に答える 3

1

innerHTMLこの行は、各反復で要素の をオーバーライドします。+次のように単純に追加できます。

innerToUpdate.innerHTML += "<a href='link.php?go="+i+"'> page number "+page+"</a>";

または、最初に文字列内のすべてのエントリを収集してから、その要素の HTML コンテンツを一度だけ更新します。

    function Generation(){
        var loopTotal = <?=$TotalNumberOfRows?>;
        var innerToUpdate=$("#loopItemSet");
        // var innerToUpdate=$(".loopItemSet"); // for multiple elements.

        var page=0, content = '';
        for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
        {
            page++;
            // document.write(i);
            content += "<a href='link.php?go="+i+"'> page number "+page+"</a>";
        }
        innerToUpdate.html( content );
    }

innerHTMLへの呼び出しをjQuery のに置き換えましhtml()た。私の意見では、jQuery を使用する場合は、必要に応じて使用してください。

于 2012-10-30T16:32:09.073 に答える
0

質問は不明確ですが、リンクが 3 つではなく 1 つしか取得されていないことを前提としており、その理由を知りたいと考えています。それはここにあります:

    for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
    {
        page++;
        // document.write(i);
        innerToUpdate.innerHTML="<a href='link.php?go="+i+"'> page number "+page+"</a>";
    }       

読むべき:

  for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
        {
            page++;
            // document.write(i);
            innerToUpdate.innerHTML+="<a href='link.php?go="+i+"'> page number "+page+"</a>";
        } 

現在のコードは、html に連結するのではなく、毎回 html をリセットしています。

于 2012-10-30T16:33:08.403 に答える
0

jQueryのappendを使いたい

これの代わりに:

    innerToUpdate.innerHTML="<a href="link.php?go="+i+""> page number "+page+"</a>";

これを試して:

    innerToUpdate.append('<a href="link.php?go='+i+'"> page number '+page+'</a>');

その行の引用符を確認してください。私が編集した二重引用符が正しくネストされていませんでした。

于 2012-10-30T16:30:58.853 に答える