我的页面中有第二件事:
<tbody>
@for (int i = 0; i < Model.Options.Count; i++)
{
...
...
<tr>
<td>
@Html.EditorFor(m => Model.Option[i].Date, new {id = Model.Option[i].OptionId})
</td>
</tr>
<tr>
<td>
@Html.EditorFor(m => Model.Options[i].Completed, new {id = Model.Option[i].OptionId})
</td>
</tr>
...
...
}
</tbody>
我需要为Completed添加onchange事件。 我试着这样做:
new { id = Model.Option[i].OptionId, onchange = "StateChange()"}
并创建函数StateChange()但问题是 onchange没有添加到我的EdditorFor。因此,对javascript函数没有任何反应。
我在BoolYesNo.cshtml(编辑模板)中尝试了第二件事:
@model bool?
Yes @Html.RadioButton("", true, Model.HasValue && Model.Value == true, htmlAttributes: ViewData["htmlAttributes"])
No @Html.RadioButton("", false, Model.HasValue && Model.Value == false, htmlAttributes: ViewData["htmlAttributes"])
但没有效果。
我的问题是,如何才能将onchange事件添加到我的@ Html.EditorFor? (这是无线电)。
P.S抱歉我的英语不好。
编辑1 @onchange或@onChange无效。
答案 0 :(得分:0)
你可以尝试
@onChange = "StateChange()"
或者
new { id = Model.Option[i].OptionId, @class = "input"}
并在javascript中
$(".input").on("change", StateChange());
答案 1 :(得分:0)
我已尝试使用您的代码,并通过设置onchange(如下所示)来工作
@Html.RadioButtonFor(m => Model.Options[i].Completed, Model.Options[i].OptionId, new { id = Model.Options[i].OptionId.ToString(), Name="radios", @onchange = "StateChange();" })