首页 > 解决方案 > 有没有我可以为单选按钮赋值的javascript函数?

问题描述

所以我在单选按钮上获取一些值有一个小问题。我在 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

标签: javascriptc#html

解决方案


将 true 和 false 的值放入数组中,然后 value="@item.true_value"


推荐阅读