【问题标题】:Javascript Function in MVCMVC 中的 Javascript 函数
【发布时间】:2016-02-29 02:23:40
【问题描述】:

我正在 MVC 5 中开发一个测验应用程序。我在数据库中添加了两个表。一个用于标记,另一个用于问答。我已在数据库中输入问题、答案的数据,并将布尔值输入为 true 或 false 以获得正确答案,反之亦然。我可以从数据库中查看问题和答案。但是每当用户选中我想根据正确或错误答案给他分数的复选框时,我都会卡住。我无法编写 javascript 函数来检查复选框是否被选中。

Javascript:

function scorecheck(id) {

    if (document.getElementById(id).checked) {
        document.getElementById(id).value = "false";
    }
    else {
        document.getElementById(id).value = "true";
    }
}

剃刀视图:

   @using(Html.BeginForm("Score", "Home", FormMethod.Post))
   {
   foreach (var item in Model) {

   @Html.DisplayFor(modelItem => item.Question)

   @Html.CheckBox("ans1", new { onchange = "scorecheck()" })
 @Html.DisplayFor(modelItem => item.ans1)<br />

 @Html.CheckBox("ans2", new { onchange = "scorecheck()" })
 @Html.DisplayFor(modelItem => item.ans2)<br />

 @Html.CheckBox("ans3", new { onchange = "scorecheck()" })
 @Html.DisplayFor(modelItem => item.ans3)<br />

 @Html.CheckBox("ans4", new { onchange = "scorecheck()" })
 @Html.DisplayFor(modelItem => item.ans4)<br />
  }

<input type="Submit" value="Submit" />
   }

我还编写了逻辑来为正确和错误的答案打分,但它不起作用。

C#:

int s = 0;
        string ans1 = c["ans1"];
        if (ans1 == "true")
        {
            s = s + 20;
        }
        string ans2 = c["ans2"];
        if (ans2 == "false")
        {
            s = s - 20;
        }
        string ans3 = c["ans3"];
        if (ans3 == "false")
        {
            s = s - 20;
        }
        string ans4 = c["ans4"];
        if (ans4 == "false")
        {
            s = s - 20;
        }

【问题讨论】:

  • 你可以使用 jquery 像 $("#checkkBoxId").attr("checked")
  • 您想在点击任何复选框后立即计算积分,还是在发布后计算总和?
  • 提交后要计算Score。
  • 您是否尝试过以下操作:if(document.getElementById('ans1, ans2, ans3, ans4').checked)?例如,考虑到“ans1”是属性的 id。
  • 我用过: 用于从复选框中获取 id。然后我正在使用:

标签: javascript c# model-view-controller


【解决方案1】:

点击查看复选框值的方法如下:

 <input type="checkbox" value="yourvalue" onclick="MyFunc(this)"> 

和javascript函数:

function MyFunc(control)
{
  if(control.checked==true)
   //your logic
}

【讨论】:

  • 我使用的是剃刀视图
【解决方案2】:

我使用以下方法从复选框中获取 id:

`<input id="@(item.ans1)" type="checkbox" name="ans1" value="@item.ans1" onchange="scorecheck('@(item.ans1)')" /> `

然后我使用 Javascript 函数来检查它的值是真还是假,如下所示:

if (document.getElementById(id).checked) { document.getElementById(id).value = "True"; } else { document.getElementById(id).value = "False"; }

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多