Show(),Hide()不会对jquery中的所有条件执行

时间:2018-01-24 08:33:13

标签: javascript php jquery

我正在一个用户可以参加测验的网站上工作。现在每个测验有20个问题,三个部分,其中1markx10questions,2marksx5questions,4marksx5questions。我列出了每个问题的4个无线电选项,并且有一个收音机显示“我不想尝试”#39;和一个复选框,用于'评论'在用户点击了一个答案的选项之后。现在,当用户再次点击“我不想出现”时,修订版'复选框消失。现在的问题是,整个过程只发生在第一个问题上,而这个问题就是回顾过去的问题。对于测验中的其余问题,按钮不会出现。 这是我的代码,

<li class="list-group-item wrp_radio">
      <div class="radio noMargin">
        <label>
          <input type="radio" class="checkedInfo" alt="<?php echo $no ; ?>"  name="optionAns<?php echo $i ; ?>"  value="<?php echo $rowO['id'] ; ?>">
          <?php echo $rowO['options'] ; ?></label>
      </div>
    </li>
<?php } ?> 


   <li class="list-group-item wrp_radio">
      <div class="radio noMargin">
        <label>
          <input type="radio" class="checkedInfo" alt="<?php echo $no ; ?>" accesskey="notAttempt" checked name="optionAns<?php echo $i ; ?>"  value="NA">
          <p style="color:red;">I am not Attempting this question</p></label>
      </div>
    </li>



<li class="list-group-item">
<div class="wrp_review">
      <div class="radio noMargin  bg-danger">
        <label>
          <input type="checkbox" class="checkedInfo" alt="<?php echo $no ; ?>" accesskey="revision" name="optionAnss<?php echo $i ; ?>"  id="optionAns<?php echo $no  ; ?>" value="NA">
          Revision</label>
      </div>
      </div>
    </li>                
        </ul>        
<?php $i++;$no++; ?>
<?php $sectionOne++;} ?> 

以上发送的代码重复三次,分三次。 现在我已经应用了jQuery,

$('.wrp_review').hide();
$('.wrp_radio input[type="radio"]').click(function(){

if($(this).val()=="NA"){

  $(this).closest('ul').find('.wrp_review').hide();

  $(this).closest('ul').find('.wrp_review input[type="checkbox"]').prop('checked', false);
 }else{

 $(this).closest('ul').find('.wrp_review').show();  
 }

});

2 个答案:

答案 0 :(得分:0)

这可能是由于缺乏简单的条件检查,bcos你正在检查值是否等于“NA”隐藏修订框否则显示它。您可以通过放置debugger;语句在浏览器中进行调试,这样您就可以确认自己的代码中没有任何缺陷。

答案 1 :(得分:0)

它解决了。发现没有正确调用所有按钮的类。因此解决了。