gpt4 book ai didi

javascript - 添加单选按钮的值

转载 作者:行者123 更新时间:2023-11-28 17:54:57 24 4
gpt4 key购买 nike

我正在整理一份调查问卷,其中每个问题都有 4 个单选按钮选项。单选按钮附加了一个值,该值按照我需要的方式进行加权。我有一个 javascript 函数,当我选择单选按钮时,它会更改值,但是,即使首次加载页面,由于某种原因,值也会从 75 开始。我需要第一个问题 1A 的值为 0、3 或 5,然后一旦回答了问题 1B,该值就会更改为 0、3、5、6、8 或 10。换句话说,新选择的值radio值从1A开始加到radio值上。以下是我表格中的前几个问题。

<div class="panel-group" id="accordion1" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOneA">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion1" href="#collapseOneA" aria-expanded="true" aria-controls="collapseOneA">
<span class="letter">a</span> Question 1A
</a>
</h4>
</div>
<div id="collapseOneA" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOneA">
<div class="panel-body">
<label>
<input class="calc" type="radio" name="optionsRadios1" id="optionsRadios11A" value="5" checked>
YES
</label>
<label>
<input class="calc" type="radio" name="optionsRadios1" id="optionsRadios21A" value="0">
NO
</label>
<label>
<input class="calc" type="radio" name="optionsRadios1" id="optionsRadios31A" value="3">
PARTIAL
</label>
<label>
<input class="calc" type="radio" name="optionsRadios1" id="optionsRadios41A" value="0">
UNSURE
</label>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingTwoA">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion1" href="#collapseTwoA" aria-expanded="false" aria-controls="collapseTwoA">
<span class="letter">b</span> Question 1B
</a>
</h4>
</div>
<div id="collapseTwoA" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwoA">
<div class="panel-body">
<label>
<input class="calc" type="radio" name="optionsRadios2" id="optionsRadios11B" value="5" checked>
YES
</label>
<label>
<input class="calc" type="radio" name="optionsRadios2" id="optionsRadios21B" value="0">
NO
</label>
<label>
<input class="calc" type="radio" name="optionsRadios2" id="optionsRadios31B" value="3">
PARTIAL
</label>
<label>
<input class="calc" type="radio" name="optionsRadios2" id="optionsRadios41B" value="0">
UNSURE
</label>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingThreeA">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion1" href="#collapseThreeA" aria-expanded="false" aria-controls="collapseThreeA">
<span class="letter">c</span> Question1C
</a>
</h4>
</div>
<div id="collapseThreeA" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThreeA">
<div class="panel-body">
<label>
<input class="calc" type="radio" name="optionsRadios3" id="optionsRadios11C" value="5" checked>
YES
</label>
<label>
<input class="calc" type="radio" name="optionsRadios3" id="optionsRadios21C" value="0">
NO
</label>
<label>
<input class="calc" type="radio" name="optionsRadios3" id="optionsRadios31C" value="3">
PARTIAL
</label>
<label>
<input class="calc" type="radio" name="optionsRadios3" id="optionsRadios41C" value="0">
UNSURE
</label>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingFourA">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion1" href="#collapseFourA" aria-expanded="false" aria-controls="collapseFourA">
<span class="letter">d</span> Question 1D
</a>
</h4>
</div>
<div id="collapseFourA" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFourA">
<div class="panel-body">
<label>
<input class="calc" type="radio" name="optionsRadios4" id="optionsRadios11D" value="5" checked>
YES
</label>
<label>
<input class="calc" type="radio" name="optionsRadios4" id="optionsRadios21D" value="0">
NO
</label>
<label>
<input class="calc" type="radio" name="optionsRadios4" id="optionsRadios31D" value="3">
PARTIAL
</label>
<label>
<input class="calc" type="radio" name="optionsRadios4" id="optionsRadios41D" value="0">
UNSURE
</label>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingFiveA">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion1" href="#collapseFiveA" aria-expanded="false" aria-controls="collapseFiveA">
<span class="letter">e</span> Question 1E
</a>
</h4>
</div>
<div id="collapseFiveA" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFiveA">
<div class="panel-body">
<label>
<input class="calc" type="radio" name="optionsRadios5" id="optionsRadios11E" value="5" checked>
YES
</label>
<label>
<input class="calc" type="radio" name="optionsRadios5" id="optionsRadios21E" value="0">
NO
</label>
<label>
<input class="calc" type="radio" name="optionsRadios5" id="optionsRadios31E" value="3">
PARTIAL
</label>
<label>
<input class="calc" type="radio" name="optionsRadios5" id="optionsRadios41E" value="0">
UNSURE
</label>
</div>
</div>
</div>
</div>

这是我的 JavaScript 函数:

function calcscore(){
var score = 0;
$(".calc:checked").each(function(){
score+=parseInt($(this).val(),10);
});
$("input[name=sum]").val(score)
}
$().ready(function(){
$(".calc").change(function(){
calcscore()
});
});

我已将代码粘贴到 JSFiddle 中:

https://jsfiddle.net/Dhaderlie/bkdqaxnL/

如果您测试该表单,您会看到我得到的奇怪值。

最佳答案

您的代码是正确的。

文档就绪后,您将获得所有检查值的总和。考虑到加载页面时,您总是检查所有单选按钮,您只需获取所有检查值的总和。

您只需从单选按钮中删除 checked 属性,然后在回答问题时即可正确更新结果。

在下面的 jsfiddle 中,我刚刚更改了您的示例,从第二个问题中删除了 checked 属性,这次您的输出从 70 开始(因为如果选中,第二个答案会多获得 5 分)

https://jsfiddle.net/bkdqaxnL/2/

我希望这是有道理的

关于javascript - 添加单选按钮的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44687198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com