首页 > 解决方案 > 无法比较jquery中的两个字符串

问题描述

有人可以帮我解决这个问题吗?我的html代码是

<div class="py-2 h5"><b>1 can arbitration agreement be in oral?</b></div>
<div class="ml-md-3 ml-sm-3 pl-md-5 pt-sm-0 pt-3 mcq activated" id="options"> 
<label class="options">Yes<input type="radio" class="radio" name="radio1"> <span class="checkmark"></span></label>
<label class="options">no<input type="radio" class="radio" name="radio1"> <span class="checkmark"></span></label>  
<label class="options">yes, if turnover is below 10 Lakhs<input type="radio" class="radio" name="radio1"> <span class="checkmark"></span></label>                        
<label class="options">None of the above<input type="radio" class="radio" name="radio1"> <span class="checkmark"></span></label>                        
<label class="options reveals"><p class="radio reveal text-center btn btn-info">no</p></label>
</div>   

我的jQuery代码是

 $('.radio').click(function(){
  $(this).parents(".options").parent().addClass('activated'); 
   var selected = ($(this).parent().text());
 var answer = ($(this).closest(".mcq").find(".reveal").text());
  if(selected === answer){
  alert("yes");
}else{
  alert("nope");
}
});

例如,在这种情况下,我想要的输出应该是每当用户单击第二个单选选项即“否”时,它应该使用最后一个单选选项检查答案,即“否”,如果两者都匹配,那么我应该得到一个警报(“是”)。我一直在为此苦苦挣扎。非常感谢任何帮助

标签: jquery

解决方案


您必须删除<input>字段和<span>. .text()获取所有标签之间的所有文本,因此您在示例中想要的答案是“否”而不是“否”:

$('.radio').click(function(){
  $(this).parents(".options").parent().addClass('activated'); 
   var selected = ($(this).parent().text());
 var answer = ($(this).closest(".mcq").find(".reveal").text());
  if(selected === answer){
  alert("yes");
}else{
  alert("no");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="py-2 h5"><b>1 can arbitration agreement be in oral?</b></div>
<div class="ml-md-3 ml-sm-3 pl-md-5 pt-sm-0 pt-3 mcq activated" id="options"> 
<label class="options">Yes<input type="radio" class="radio" name="radio1"><span class="checkmark"></span></label>
<label class="options">no<input type="radio" class="radio" name="radio1"><span class="checkmark"></span></label>  
<label class="options">yes, if turnover is below 10 Lakhs<input type="radio" class="radio" name="radio1"><span class="checkmark"></span></label>                        
<label class="options">None of the above<input type="radio" class="radio" name="radio1"><span class="checkmark"></span></label>                        
<label class="options reveals"><p class="radio reveal text-center btn btn-info">no</p></label>
</div>


推荐阅读