1

我试图用 jQuery 和这里的页码在一个不起作用的 for 循环中进行分页:

HTML

<div id="inf"></div>
<div id="pageNrs"></div>
...

JavaScript

var pNr = 1;
function cVal(nr) {
    pNr = nr;
    $('#inf').html(pNr);
}


 $(document).ready(function () {
        var data = getData();
        n = data.length;
        var pnr = 1;
        var pnrs = Math.ceil(n / 8.0);
        $('#pageNrs').append('<span id="fst">&lt;&lt;</span> | ');
        $('#fst').click(function () {
            cVal(1); 
        });
        $('#pageNrs').append('<span id="prv">&lt;</span> | ');
        $('#prv').click(function () {
            cVal(pNr < 2 ? 1 : pNr - 1);
        });
        for (var i = 1; i <= pnrs; i++) {
        //problem is exactly here...
            $('#pageNrs').append('<span id="pnr_' + i + '">' + i + '</span> | ');
            $('#pnr_' + i).click(function () { alert(('#pnr_' + i)); });
        }

        $('#pageNrs').append('<span id="nxt">&gt;</span> | ');
        $('#nxt').click(function () { 
            cVal(pNr >= pnrs ? pnrs : pNr + 1); 
        });
        $('#pageNrs').append('<span id="lst">&gt;&gt;</span>');
        $('#lst').click(function () { 
            cVal(pnrs);
        });
    });

如何实现这一点,如果我单击pange nr 7,它会发出警报#pnr_7,然后单击nr 3,它会发出警报#pnr_3

4

1 回答 1

0

你可以试试这个:

    function doSomething(page) {
        alert(page);
    }


    $('#pageNrs').append('<span id="pnr_' + i + '" onclick="doSomething(' + i + ');">' + i + '</span> | ');
于 2012-12-26T10:17:28.680 回答