2015-01-06 116 views
1

我有第二件事,在我的网页:如何将Onchange添加到Html.EditorFor?

<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> 

我需要添加onchange事件的完成。 我试图做到这一点这样:

new { id = Model.Option[i].OptionId, onchange = "StateChange()"} 

和创造功能StateChange()但问题是,平变化没有添加到我的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

您可以使用new {id = Model.Option [i] .OptionId,@ onchange =“StateChange();” }你可以在javascript中定义StateChange函数来执行所需的功能 – user3263194

+0

我认为我已经写过这个不起作用 –

+0

你提到onchange。使它@onchange。 – user3263194

回答

0

你可以尝试

@onChange = "StateChange()" 

或可替代

new { id = Model.Option[i].OptionId, @class = "input"} 

,并在JavaScript

$(".input").on("change", StateChange()); 
+0

@onChange =“StateChange()” - 不工作。 $(“#THEID”)。on(“change”,StateChange()) - 我应该如何获取我的收音机ID?正如你可以看到我在我的例子中有一个“for”,并因此收音机可以有不同的Id Id: –

+0

我编辑了我的答案 –

0

我一直在使用你的代码试图和它的工作通过设置平变化像下面

@Html.RadioButtonFor(m => Model.Options[i].Completed, Model.Options[i].OptionId, new { id = Model.Options[i].OptionId.ToString(), Name="radios", @onchange = "StateChange();" }) 
相关问题