Jquery和PHP在循环中显示表

Jquery和PHP在循环中显示表,php,html,jquery,Php,Html,Jquery,我使用Jquery和PHP在表格中显示问题和答案。。我正在使用FOREACH循环打印结果,但我不知道如何在单击中仅显示一个问题,这是我的代码: <script type="text/javascript"> $(document).ready(function(){ $('$#answer').click(function(){ $('#result').fadeIn("slow").delay(1000); }); }); </scri

我使用Jquery和PHP在表格中显示问题和答案。。我正在使用FOREACH循环打印结果,但我不知道如何在单击中仅显示一个问题,这是我的代码:

<script type="text/javascript">
$(document).ready(function(){

 $('$#answer').click(function(){  

    $('#result').fadeIn("slow").delay(1000);



    });
    });
</script>
{foreach $essay as $question}
<div style="float: right;width:72%;margin-right:20px;">
<div class="menuhead">
{$ci->lang->line('question')}
</div>
          <div class="box"> 
          <button id="answer-{$question.id}" >ANSWER</button>
        <p style="text-align:left;font-weight:bold;">{$question.question}</p>   
        <p style="text-align:left;font-weight:bold;"><span style="color:#001cac;font-weight:bold;">{$ci->lang->line('answers')}:</span> {$ci->essay->answers_count($question.id)}</p>    
        </div>
        </div>

        <div id="result-{$question.id}" style="display:none;">{$question.id}</div>
        {/foreach}
另一个代码也不起作用:

<script type="text/javascript">
$(document).ready(function(){
    $('.answer').click(function(){
        var i = $('.answer').index(this);  
        $('.result').eq(i).fadeIn("slow").delay(1000);
    });
});
</script>
{foreach $essay as $question}
<div style="float: right;width:72%;margin-right:20px;">
<div class="menuhead">
{$ci->lang->line('question')}
</div>
          <div class="box"> 
         <button id="answer-{$question.id}" class="answer">ANSWER</button>
        <p style="text-align:left;font-weight:bold;">{$question.question}</p>   
        <p style="text-align:left;font-weight:bold;"><span style="color:#001cac;font-weight:bold;">{$ci->lang->line('answers')}:</span> {$ci->essay->answers_count($question.id)}</p>    
        </div>
        </div>

        <div id="result-{$question.id}" class="result" style="display:none;">{$question.id}</div>
        {/foreach}

单击时,您可以使用名称框隐藏所有div,并仅显示您单击的div。

因此,如果我想正确理解,您的问题是,当您单击回答按钮时,所有结果div都会显示

这里可能有两个问题

首先,我不确定您的jQuery现在是如何工作的,因为您使用诸如answer-and-result-where之类的类来表示一些id值。如果需要这些元素的唯一id,请将id生成为元素的id属性,而不是类的id属性。您的元素应该看起来像:

<button id="answer-{$question.id}" class="answer">ANSWER</button>

没关系。。但是我怎样才能使它只显示我单击的div呢?我必须把他们所有的ID都放在Jquery里,不然呢?!当您在类答案中单击时,请查找具有名称的父类框$this.closest.box.show;其中,这是您单击的元素。好的,我已经将我的类更改为ids:ANSWER和{$question.id}。。我应该如何使用JQUERY代码来指定要显示的idit@HossamRamadan您仍然需要类,因为在类级别指定此行为更方便。请重读答案。您需要的代码就在那里。我很困惑,抱歉:S,但我是Jquery新手。。我已经复制了上面帖子末尾的代码。。你能检查一下吗?@Hossammadan看起来不错。它不起作用吗?如果是,您看到的行为是什么?当我单击“回答”时,不会出现任何窗口
$(document).ready(function(){
    $('.answer').click(function(){
        var i = $('.answer').index(this);  
        $('.result').eq(i).fadeIn("slow").delay(1000);
    });
});