所以我在获取单选按钮的一些值方面有一个小问题。我在html产生单选按钮的地方做了一个foreach循环。这些是“是/否”按钮,每个“是/否”设置都需要一个值。
像问题1的值为1,2的值为2,3的值为4,4的值为8,等等。
最后需要加总得分,但是如果选择“否”(例如,问题4的值为8,那么该值将变为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
答案 0 :(得分:0)
在数组中输入true和false的值 接着 value =“ @ item.true_value”