用php生成jquery列表

4bbkushb  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(280)

我使用php生成了一个列表,其中包含从数据库中选择的元素。它工作得很好。但问题是当我试图 li 用jquery索引它只给我奇数个索引。就像我点击第一个元素时,它会给出这些索引:

home(index 0: it should be 0)
    ,about(index 2: actually it should be 1)
    ,about(index 4: actually it should be 2)
    ,about(index 6: actually it should be 3)
    ,about(index 8: actually it should be 4)
    ,about(index 10: actually it should be 5).

我使用while循环来生成这个 id .

<ul style="list-style:none;">
        <?php while($row = $result->fetch_assoc()):?>

            <li class="list-group-item"><?=$row['name']?><li>

        <?php endwhile ?>
    </ul>

JS:

$('ul li').click(function() {
    var index = $(this).index();
    console.log(index);
})
unftdfkk

unftdfkk1#

这只是一个黑客让它工作你应该 fetchAll 使用 for

<ul style="list-style:none;">
            <?php $i = 0; while($row = $result->fetch_assoc()):?>

                <li class="list-group-item" data-index="$i" ><?=$row['name']?><li>

            <?php $i++ ; endwhile ?>
        </ul>

$('ul li').click(function() {
    var index = $(this).data('index');
    console.log(index);
})
5vf7fwbs

5vf7fwbs2#

你把 <li> (开始标记)而不是 </li> (结束标记)在html中。请更正它,它将解决你的问题,并给你正确的索引

<ul style="list-style:none;">
        <?php while($row = $result->fetch_assoc()):?>

            <li class="list-group-item"><?=$row['name']?></li>

        <?php endwhile ?>
    </ul>

相关问题