[英]Simple quiz not working in jQuery or JavaScript
我正在做一個簡單的測驗,以獲取一個人提交“提交”按鈕時回答的正確問題的數量。 但是,它始終為零。 請幫助。
$(document).ready(function(){ $('button').click(function(){ var count = 0; if($('[name=q1]').val() == "Delhi"){count++;} if($('[name=q2]').val() == "Lotus"){count++;} 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',但是如果我選擇'Delhi'和'Lotus',它應該給出的答案是2 。
兩件事情:
$('[name=q1]').val()
將為您提供name="q1"
的第一個元素的值,而不是選中的元素。 為此,添加:checked
。
你比較"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>
您的Js代碼有錯誤,您必須選擇選中的輸入,您的代碼僅選擇第一個輸入
$(document).ready(function(){ $('button').click(function(){ var count = 0; if($('input[name=q1]:checked').val() == "delhi"){count++;} if($('input[name=q2]:checked').val() == "lotus"){count++;} 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>
$(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); }); });
<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>
嘗試用大寫字母重命名您的值(蓮花=>蓮花等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.