Не могу увидеть мою ошибку в этой таблице jQuery - PullRequest
0 голосов
/ 17 августа 2010

Я слежу за этим уроком: http://www.javascripttoolbox.com/jquery/

И я пытаюсь получить строки таблицы, которые заполнены mySQL, для расширения, чтобы показать детали.Что странно, firebug показывает строки как скрытые (серые), и когда я щелкаю по строке выше, строки становятся серыми.Проблема в том, что они на самом деле не скрыты на экране.Когда я нажимаю на «родительскую» строку, я вижу сдвиг строки вниз на пару пикселей, но это все.

Вот моя таблица:

<?php
while($row = mysql_fetch_array($result)){
    ?>
    <tr class="parent" id="<?php echo $row['id'] ?>">
        <td><?php echo $row['type'] ?></td>
        <td><?php echo $row['description'] ?></td>
        <td><?php echo $row['recorded_date'] ?></td>
        <td><?php echo $row['added_date'] ?></td>
    </tr>
    <br /> 
    <tr style="display: none;" class="child-<?php echo $row['id'] ?>"></tr>
        <td>&nbsp;</td>
        <td>2007-01-02</td>
        <td>A short description</td>
        <td>15</td>

    </tr>
    <br /> 

  <?php 
}
mysql_close();
?>
</table>

И jQuery(над тегом):

$(function() {
    $('tr.parent')
        .css("cursor","pointer")
        .attr("title","Click to expand/collapse")
        .click(function(){
            $(this).siblings('.child-'+this.id).toggle();
        });
    $('tr[@class^=child-]').hide().children('td');
});

1 Ответ

3 голосов
/ 17 августа 2010

Удалите </tr> в конце этой строки:

<tr style="display: none;" class="child-<?php echo $row['id'] ?>"></tr> 

Ваша строка "child-id #" не содержит ячеек. Отсюда и небольшое смещение при нажатии. </tr> в конце не закрывает какой-либо тег и является просто дополнительным.

Разрывы строк между строками таблицы могут быть удалены. Они избыточны (и неправильный HTML). Теги <tr></tr> автоматически начнутся с новой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...