Сгенерированный список с php

0

Я создал список с использованием 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);
})
  • 0
    пожалуйста, опубликуйте соответствующий код / html, чтобы понять проблему. Также уточните, какова ваша цель, исправив индексы
Теги:

2 ответа

0

Вы положили <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>
  • 0
    Спасибо человек, это была проблема!
  • 0
    рад помочь вам :). Вы можете принять и подтвердить ответ, если найдете его полезным
0

Это просто взломать, чтобы он работал, вы должны 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);
})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню