【发布时间】:2019-06-26 14:55:24
【问题描述】:
所以我在单选按钮上获取一些值有一个小问题。我在 html 制作单选按钮的地方做了一个 foreach 循环。这些是是/否按钮,每个是/否集合都需要一个值。
就像问题 1 的值为 1,2 的值为 2,3 的值为 4,4 的值为 8,以此类推。
最后需要加总分,但是如果选择了NO(例如第4题的值为8为NO,则值为0)
我试过做一个如下所示的 Javascript 函数,使它有点工作。但是,如果所有答案均为“否”并且您提出问题 4 是(其值应为 8),那么它只是说我的值为 2。我知道这行不通,但我想知道我是否可以通过某种方式改变它我可以让它按照我想要的方式工作
@foreach (var item in Model)
{
<div class="box">
<p>@Html.DisplayFor(modelItem => item.Question)</p>
<label>
<input id="yes" type="radio" name="@item.Id" checked="">
<span class=" yes randobtn">Ja</span>
</label>
<label>
<input id="no" type="radio" name="@item.Id">
<span class="no randobtn">Nee</span>
</label>
</div>
}
<button class="btn btn-primary" onclick="GetCount()">check</button>
@section Scripts{
<script type="text/javascript">
$(document).on('click',
'#btn',
function() {
console.log('test');
location.href = "/Symptom/GetProblems?TotalPoints=" +
count;
});
var count = 1;
$(document).on('click',
'.randobtn',
function() {
GetCount();
});
function GetCount() {
var checkedRadioBtns = $('input[type="radio"]:checked');
count = 1;
for (var i = 0; i < checkedRadioBtns.length; i++) {
if (checkedRadioBtns[i].id === 'no') {
console.log('in de if');
continue;
} else {
count = count * 2;
}
}
alert(count);
}
</script>
}
这就是我想要的:http://prntscr.com/o6zrqd 但是,正如您在警报中看到的那样,它只是选择1否选择
【问题讨论】:
-
为什么不在创建单选按钮时将
value属性放在它们上?
标签: javascript c# html