- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个测验应用程序的代码,我需要获取所选所有选项的所有列表,并且需要在最后显示最多选择的选项。就像大多数问题中选择选项 3 或大多数问题中选择选项 2..
这是fiddle
JS:
$(document).ready(function(){
answers = new Object();
$('.option').change(function(){
var answer = ($(this).attr('value'))
var question = ($(this).attr('name'))
answers[question] = answer
})
var item1 = document.getElementById('questions');
var totalQuestions = $('.questions').size();
var currentQuestion = 0;
$questions = $('.questions');
$questions.hide();
$($questions.get(currentQuestion)).fadeIn();
$('#next').click(function(){
$($questions.get(currentQuestion)).fadeOut(function(){
currentQuestion = currentQuestion + 1;
if(currentQuestion == totalQuestions){
var result = sum_values()
//do stuff with the result
alert(result);
}else{
$($questions.get(currentQuestion)).fadeIn();
}
});
});
});
function sum_values(){
var the_sum = 0;
for (questions in answers){
the_sum = the_sum + parseInt(answers[question])
}
return the_sum
}
HTML:
<div>
<h1>What Type of Date Are You? (Dude Edition)</h1>
</div>
<div class="questions">
<p>1. You see a girl waiting at the bus stop. She is exactly your type. How do you get her number?</p>
<form class="options">
<input class="option" type="radio" name="question1" value=4>You walk right up to her, strike up a conversation, and ask for her number<br>
<input class="option" type="radio" name="question1" value=3>You wait a few days until you get the courage to go and talk to her<br>
<input class="option" type="radio" name="question1" value=2>You tell one of your mutual friends that you like her<br>
<input class="option" type="radio" name="question1" value=1>You wait for her to come to you</br>
</form>
</div>
<div class="questions">
<p>2. You guys decide to go out on a date. Where do you decide to take her?</p>
<form class="options">
<input class="option" type="radio" name="question2" value=4>You take her out for a short coffee and talk about life and relationships<br>
<input class="option" type="radio" name="question2" value=3>You take her out on a creative date and ask her questions about her life and you respond in kind, tried-and-true interview-style<br>
<input class="option" type="radio" name="question2" value=2>You take her out to a nice restaurant and dress in your best clothes. You ask the same questions as above<br>
<input class="option" type="radio" name="question2" value=1>You take her to the best restaurant and hope that your clothes does most of the talking. If not, you've got great stories to tell up your sleeves<br>
</form>
</div>
<div class="questions">
<p>3. You think you had a great first date. What do you do between now and your second date?</p>
<form class="options">
<input class="option" type="radio" name="question3" value=4>You send her a text telling her you'll have out again soon. No big deal. Another date with another girl, coming up!<br>
<input class="option" type="radio" name="question3" value=3>You send her a text telling her how much fun you had and can't wait for the next date.<br>
<input class="option" type="radio" name="question3" value=2>In addition to doing above, you call her and ask her how she thinks the date went and when/where the next date is<br>
<input class="option" type="radio" name="question3" value=1>In addition to doing above, you think about how lucky you are for finally finding an amazing girl. You hope to start a relationship ASAP<br>
</form>
</div>
<div class="questions">
<p>4. Crap! You just remembered you have a huge project due this Friday. This might be a problem. How many dates do you have this week?</p>
<form>
<input class="option" type="radio" name="question4" value=4>More than 5. You're going to have to cancel one of them.<br>
<input class="option" type="radio" name="question4" value=3>You have a few dates in the pipeline, just testing the waters. You can still make the dates<br>
<input class="option" type="radio" name="question4" value=2>You have one date because you're a one woman kind of guy<br>
<input class="option" type="radio" name="question4" value=1>You have one date. You don't date much, in general.<br>
</form>
</div>
<div class="questions">
<p>5. Finally, how spontaneous are you?</p>
<form>
<input class="option" type="radio" name="question5" value=4>YOLO is your middle name. Your amusement > all else<br>
<input class="option" type="radio" name="question5" value=3>You may not be the most wild or crazy person, but you are definitely down for good times<br>
<input class="option" type="radio" name="question5" value=2>You like to have fun as much as the next guy, as long as things don't get too out of hand<br>
<input class="option" type="radio" name="question5" value=1>I like to plan ahead, no matter what the situation, work or play<br>
</form>
</div>
<br>
<input type="button" id='next' value="Next" onlick="sum_values()">
最佳答案
快速修复了一些问题,但说实话,这很丑陋。它没有考虑到可能存在平局,但您应该能够完善它:
$(document).ready(function () {
answers = new Object();
$('.option').change(function () {
var answer = ($(this).attr('value'));
var question = ($(this).attr('name'));
answers[question] = answer;
console.log(answers);
})
var item1 = document.getElementById('questions');
var totalQuestions = $('.questions').size();
var currentQuestion = 0;
var $questions = $('.questions');
$questions.hide();
$($questions.get(currentQuestion)).fadeIn();
$('#next').click(function () {
if ($('.option',$questions.get(currentQuestion)).is(':checked')) {
$($questions.get(currentQuestion)).fadeOut(function () {
currentQuestion = currentQuestion + 1;
console.log(currentQuestion + ' ' + totalQuestions);
if (currentQuestion == parseInt(totalQuestions)) {
var result = sum_values();
//do stuff with the result
var most = most_answered();
alert('result: ' + result + '\nTop answer: ' + most[1] + '\nNumber of times selected: ' + most[0]);
} else {
$($questions.get(currentQuestion)).fadeIn();
}
});
} else {
alert('no selection made');
}
});
});
function sum_values() {
var the_sum = 0;
for (var question in answers) {
the_sum = the_sum + parseInt(answers[question])
}
return the_sum;
}
function most_answered() {
console.log(answers);
var ans = { 1: 0, 2: 0, 3: 0, 4: 0 };
var optionVals = { 1: 4, 2: 3, 3: 2, 4: 1 }
var topVal = 0;
var topAns = '';
for (var question in answers) {
var val = parseInt(answers[question]);
ans[val] += 1;
if (ans[val] > topVal) {
topVal = ans[val];
topAns = 'option ' + optionVals[val];
}
}
return [topVal,topAns];
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
<h1>What Type of Date Are You? (Dude Edition)</h1>
</div>
<div class="questions">
<p>1. You see a girl waiting at the bus stop. She is exactly your type. How do you get her number?</p>
<form class="options">
<input class="option" type="radio" name="question1" value=4>You walk right up to her, strike up a conversation, and ask for her number
<br>
<input class="option" type="radio" name="question1" value=3>You wait a few days until you get the courage to go and talk to her
<br>
<input class="option" type="radio" name="question1" value=2>You tell one of your mutual friends that you like her
<br>
<input class="option" type="radio" name="question1" value=1>You wait for her to come to you</br>
</form>
</div>
<div class="questions">
<p>2. You guys decide to go out on a date. Where do you decide to take her?</p>
<form class="options">
<input class="option" type="radio" name="question2" value=4>You take her out for a short coffee and talk about life and relationships
<br>
<input class="option" type="radio" name="question2" value=3>You take her out on a creative date and ask her questions about her life and you respond in kind, tried-and-true interview-style
<br>
<input class="option" type="radio" name="question2" value=2>You take her out to a nice restaurant and dress in your best clothes. You ask the same questions as above
<br>
<input class="option" type="radio" name="question2" value=1>You take her to the best restaurant and hope that your clothes does most of the talking. If not, you've got great stories to tell up your sleeves
<br>
</form>
</div>
<div class="questions">
<p>3. You think you had a great first date. What do you do between now and your second date?</p>
<form class="options">
<input class="option" type="radio" name="question3" value=4>You send her a text telling her you'll have out again soon. No big deal. Another date with another girl, coming up!
<br>
<input class="option" type="radio" name="question3" value=3>You send her a text telling her how much fun you had and can't wait for the next date.
<br>
<input class="option" type="radio" name="question3" value=2>In addition to doing above, you call her and ask her how she thinks the date went and when/where the next date is
<br>
<input class="option" type="radio" name="question3" value=1>In addition to doing above, you think about how lucky you are for finally finding an amazing girl. You hope to start a relationship ASAP
<br>
</form>
</div>
<div class="questions">
<p>4. Crap! You just remembered you have a huge project due this Friday. This might be a problem. How many dates do you have this week?</p>
<form>
<input class="option" type="radio" name="question4" value=4>More than 5. You're going to have to cancel one of them.
<br>
<input class="option" type="radio" name="question4" value=3>You have a few dates in the pipeline, just testing the waters. You can still make the dates
<br>
<input class="option" type="radio" name="question4" value=2>You have one date because you're a one woman kind of guy
<br>
<input class="option" type="radio" name="question4" value=1>You have one date. You don't date much, in general.
<br>
</form>
</div>
<div class="questions">
<p>5. Finally, how spontaneous are you?</p>
<form>
<input class="option" type="radio" name="question5" value=4>YOLO is your middle name. Your amusement > all else
<br>
<input class="option" type="radio" name="question5" value=3>You may not be the most wild or crazy person, but you are definitely down for good times
<br>
<input class="option" type="radio" name="question5" value=2>You like to have fun as much as the next guy, as long as things don't get too out of hand
<br>
<input class="option" type="radio" name="question5" value=1>I like to plan ahead, no matter what the situation, work or play
<br>
</form>
</div>
<br>
<input type="button" id='next' value="Next" onlick="sum_values()">
关于javascript - Javascript 获取所有选定选项的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914495/
我有十二个指向不同类别的链接。作为用户定位的一种方式,我想强调用户现在所在的类别( - 按钮)。 如何在 CSS 中实现这一点?我读到了 selected和 active ,但我还没能让它发挥作用。
我想通过单击按钮来获取选择框中的所有选项值(选定/未选定)。我怎样才能做到这一点? 最佳答案 我认为这是使用 Traversing/map 的好机会方法: var valuesArray = $("#
我正在尝试构建一个计算器,其中包含两个数字的两个 TextView 字段。我弄清楚了如何使用“应用程序内”数字键盘输入顶部数字 Operand 1 [textView] 的数字(我知道使用 EditT
我有一个简单的 jQuery $("span.value"),它选择包含文本的节点。此文本保证为整数。如何计算所有选定节点文本的总和,并将总和放入另一个节点? 3 4 5 ? 最佳答案 你可以这样做:
我从同一台服务器上托管的一堆数据库中备份了 mysql 数据库 db1。现在只需要备份具有访问 db1 权限的选定用户,以便我可以在 db1 还原之前将这些特权用户还原到我的新服务器。 最佳答案 St
我有一个 ListView 。我想添加一个动画,如果我选择一个列表项,它将被删除,并且该项目下方的其余项目将通过向上滑动动画向上移动。我已经通过获取其子位置使用线性布局完成了此操作,但我无法理解如何向
我不明白如何使用 Python 解析来自 Outlook 的突出显示(选定)邮件? 我有这个代码,但它适用于上一封邮件。 import win32com.client outlook = win32c
在 Xcode 6 中,您现在可以为选项卡项目的选中和未选中状态设置图标。请参阅下图中的说明: 和 唯一的问题是 SELECTED 状态的图像不显示。它只是显示空白。还有其他人有这个问题吗?请看下面的
在我的数据模型中,我有一个实体组和另一个GroupMember实体。一个Group包含一个或多个GroupMembers,但一个GroupMember只能同时位于一个Group中。到目前为止没有问题,
Android Button 在不同状态(正常、按下、选中、禁用)之间移动时会更改其可绘制背景。背景切换是即时的。是否可以使其平滑(动画)? 最佳答案 是的,这是可能的。您只需为按钮添加 addAni
我使用 emacs 来查看和编辑代码和其他文本文件。我想知道是否有一种方法可以向前或向后搜索当前缓冲区中标记的文本。类似于我在记事本或写字板中可以执行的操作。就像我可以在缓冲区中标记一些文本并执行 C
如何根据状态(选定、禁用)设置自定义选择类?如何根据状态选择(选定、禁用)在自定义下拉列表中设置类?照做了,但什么也没发生。请看我的例子................................
我正在尝试检查下拉菜单中是否存在特定文本值,如果存在,我想将其属性设置为selected。 我成功编写了一个 if 语句来检查文本是否存在: var country = usr.location; i
对于我的应用程序,我想让用户能够在回收器 View 中调整 TextView 项目的文本大小(通过捏缩放或 SeekBar)。默认值应为系统设置中选择的文本大小。最小值应为系统设置中的“非常小”,最大
我正在尝试创建一个 ListBoxItem 模板,该模板在选择时将带有圆角边框。我得到了这个 xaml,它在选择时不起作用:
我正在寻找检索焦点元素的 HTML。查看 webdriver.io 文档,方法 .getActiveElement() 应该可以解决这个问题。但是,我的 IDE (WebStorm) 显示错误,指出它
我创建了一个圆,在我的 onDraw() 方法中围绕圆绘制了一条字符串和一条线(箭头)。 public class Circle extends Activity { public class
对于生产应用程序,我们希望在 Windows 窗体应用程序的 ElementHost 内显示 DatePicker,但我们遇到了 SelectedDate 和 CurrentDate 不可读的问题,因
好的,我在此处和 Google 上的许多网站上搜索了此问题的结果,但找不到针对我的问题的确切解决方案。 我有一个 sql 提取姓名和办公室。所以事情是这样的: $sql = "SELECT m
选中单元格时如何改变灰色? 最佳答案 当用户点击选中的行 (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSInd
我是一名优秀的程序员,十分优秀!