2017-02-16 55 views
1

我正在做一个简单的测验,以获取一个人在提交“提交”按钮时回答的正确问题的数量。但是,它总是给零。请帮助。简单测验不能在jQuery或JavaScript中工作

$(document).ready(function(){ 
 
$('button').click(function(){ 
 
\t var count = 0; 
 
\t if($('[name=q1]').val() == "Delhi"){count++;} 
 
\t if($('[name=q2]').val() == "Lotus"){count++;} 
 
\t alert(count); 
 
}); 
 
});
<body> 
 

 
<div> 
 
<p>Question: What is capital of India?</p> 
 

 
<input type="radio" name="q1" value="delhi"> Delhi 
 
<input type="radio" name="q1" value="mumbai"> Mumbai 
 
<input type="radio" name="q1" value="kolkata"> Kolkata 
 
<input type="radio" name="q1" value="lucknow"> Lucknow 
 
</div> 
 

 
<div> 
 
<p>Question: What is the national flower of India?</p> 
 

 
<input type="radio" name="q2" value="rose"> Rose 
 
<input type="radio" name="q2" value="lotus"> Lotus 
 
<input type="radio" name="q2" value="sunflower"> Sunflower 
 
<input type="radio" name="q2" value="tulip"> Tulip 
 
</div> 
 

 
<button>submit</button> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 

 
</body>

它总是给 '0',但如果我选择 '德里' 和 '莲花' 也应该给的答案。

+0

您已经在“value”中输入了小写的答案,但是用大写的第一次阅读进行控制。 –

回答

7

两件事情:

  1. $('[name=q1]').val()会给你第一元素的值与name="q1",而不是检查元素。为此,请添加:checked

  2. 您在比较"delhi""Delhi";案件事宜。

$(document).ready(function() { 
 
    $('button').click(function() { 
 
    var count = 0; 
 
    if ($('[name=q1]:checked').val() == "delhi") { 
 
     count++; 
 
    } 
 
    if ($('[name=q2]:checked').val() == "lotus") { 
 
     count++; 
 
    } 
 
    alert(count); 
 
    }); 
 
});
<div> 
 
    <p>Question: What is capital of India?</p> 
 

 
    <input type="radio" name="q1" value="delhi"> Delhi 
 
    <input type="radio" name="q1" value="mumbai"> Mumbai 
 
    <input type="radio" name="q1" value="kolkata"> Kolkata 
 
    <input type="radio" name="q1" value="lucknow"> Lucknow 
 
</div> 
 

 
<div> 
 
    <p>Question: What is the national flower of India?</p> 
 

 
    <input type="radio" name="q2" value="rose"> Rose 
 
    <input type="radio" name="q2" value="lotus"> Lotus 
 
    <input type="radio" name="q2" value="sunflower"> Sunflower 
 
    <input type="radio" name="q2" value="tulip"> Tulip 
 
</div> 
 

 
<button>submit</button> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

+2

正确的答案。 :)感谢 – Deadpool

0

你在你的js代码中的错误,你必须选择检查输入,你的代码只会选择第一输入

$(document).ready(function(){ 
 
    $('button').click(function(){ 
 
\t  var count = 0; 
 
\t  if($('input[name=q1]:checked').val() == "delhi"){count++;} 
 
\t  if($('input[name=q2]:checked').val() == "lotus"){count++;} 
 
\t  alert(count); 
 
    }); 
 
});
<body> 
 

 
    <div> 
 
     <p>Question: What is capital of India?</p> 
 

 
     <input type="radio" name="q1" value="delhi"> Delhi 
 
     <input type="radio" name="q1" value="mumbai"> Mumbai 
 
     <input type="radio" name="q1" value="kolkata"> Kolkata 
 
     <input type="radio" name="q1" value="lucknow"> Lucknow 
 
    </div> 
 

 
    <div> 
 
     <p>Question: What is the national flower of India?</p> 
 

 
     <input type="radio" name="q2" value="rose"> Rose 
 
     <input type="radio" name="q2" value="lotus"> Lotus 
 
     <input type="radio" name="q2" value="sunflower"> Sunflower 
 
     <input type="radio" name="q2" value="tulip"> Tulip 
 
    </div> 
 

 
    <button>submit</button> 
 

 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js">      </script> 
 

 
</body>

0

$(document).ready(function(){ 
 
$('button').click(function(){ 
 
\t var count = 0; 
 
if($('[name=q1]:checked').val() == "delhi"){count++;} 
 
if($('[name=q2]:checked').val() == "lotus"){count++;} 
 
\t alert(count); 
 
}); 
 
});
<body> 
 

 
<div> 
 
<p>Question: What is capital of India?</p> 
 

 
<input type="radio" name="q1" value="delhi"> Delhi 
 
<input type="radio" name="q1" value="mumbai"> Mumbai 
 
<input type="radio" name="q1" value="kolkata"> Kolkata 
 
<input type="radio" name="q1" value="lucknow"> Lucknow 
 
</div> 
 

 
<div> 
 
<p>Question: What is the national flower of India?</p> 
 

 
<input type="radio" name="q2" value="rose"> Rose 
 
<input type="radio" name="q2" value="lotus"> Lotus 
 
<input type="radio" name="q2" value="sunflower"> Sunflower 
 
<input type="radio" name="q2" value="tulip"> Tulip 
 
</div> 
 

 
<button>submit</button> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 

 
</body>

+0

您需要查找用户已检查过的单选按钮的值。并检查您的代码是否区分大小写 –

+0

请添加说明以解释答案。 – jjj

0

尝试重命名你用大写字母(莲=>莲花等)的值。