2

我有一个表,其中包含三行 quest_row、quest_image 和 quest_text 组。最初,只有 quest_row 是可见的 - 这有效。它显示问题编号。当用户单击表的 quest_row 行时,我希望它显示下一个 quest_image 和 quest_text 行。这是代码:

<table width="90%">
<tr>
    <td>Questions <?php echo "how many = $how_many"; ?>
    </td>
</tr>
</table>
<?php 
for ($i=1;$i<=$how_many;$i++) {
$row=mysqli_fetch_assoc($result);?>
<table name="quest_info" id="quest_info" border=1 width="100%">
    <tr class="quest_row">
        <td bgcolor="#00CCFF">
        Question# <?php echo $i; ?>
        </td>
    </tr>
<?php if ($row["image"] <> NULL) { ?>
        <tr class="quest_image" >
            <td class="quest_image" id="quest_image<?php echo $i; ?>">
                <img src="<?php $pic = $row['image']; echo $base_path . $pic; ?>" width="200" />
            </td>
        </tr>
        <tr class="quest_text" >
            <td class="quest_text" id="quest_text<?php echo $i; ?>"><?php echo $row["question"]; ?></td>
        </tr>
    </table>
    <?php
} else {
    ?>
        <tr class="quest_image" >
            <td class="quest_image" id="quest_image<?php echo $i; ?>">
            </td>
        </tr>
        <tr class="quest_text" >
            <td class="quest_text" id="quest_text<?php echo $i; ?>"><?php echo $row["question"]; ?></td>
        </tr>
    </table>
    <?php 
} ?>
<?php
}  ?>
<script type="text/javascript" src="../jquery/jquery/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".quest_text").hide();
$(".quest_image").hide();
$("#quest_info").click(function(){
    var trigger = event.target;
    alert('target = ' + target);
    if(trigger.className == 'quest_row') 
    {
            $(trigger).closest('tr').next('quest_image').show();
            $(trigger).closest('tr').next('quest_text').show();
    }
    });
});
</script>

不知道为什么这不起作用。

4

1 回答 1

0

JQuery 在显示/隐藏表行时出现问题.. 尝试使用 DIV

于 2012-08-04T11:11:02.717 回答