JavaScript HTML复选框 onchange 事件

18

我尝试以下活动,以便达到复选框的onchange。

 @Html.CheckBox("AutoCalculateMandate", true , new { onchange = "AutoCalculateMandateOnChange" })

Javascript:

function AutoCalculateMandateOnChange() {
    alert("working");
}
当我尝试以上 JavaScript 代码时,警告框从未显示任何内容(不起作用)。
当 Html.Checkbox 的值更改时,如何启用/禁用下面的输入?
<input type="text" id="LevyFee" class="form-control" data-required="true" ">
任何帮助都会感激。
谢谢。

3
应该是onchange = "AutoCalculateMandateOnChange()"而不是onchange = "AutoCalculateMandateOnChange" - Dhaval Marthak
如何获取复选框的选定值并启用/禁用输入?谢谢。同时请回答,我会接受最佳答案。 - John Elizabeth
我来晚了,但是有人能告诉我 @HTML 是哪种语言/框架吗?我以前从未在 JavaScript 中见过这个,只是好奇。 - Jonathan M
@JonathanM 这是ASP.NET的Razor语法 - Html是类型为HtmlHelper的实例,而@符号允许在标记内使用内联代码。 - Oliver
@Oliver,谢谢。我已经将ASP.NET加入标签列表中。 - Jonathan M
1个回答

32

通过将this作为引用传递,您可以在函数中获取复选框作为元素,请参见下面更新的标记

<input type="checkbox" value="check" id="AutoCalculateMandate" onchange = "AutoCalculateMandateOnChange(this)"/>
<label for="AutoCalculateMandate">
    Auto Calculate
</label> <br />

因为您正在使用MVC,所以可以像这样实现:

 @Html.CheckBox("AutoCalculateMandate", true , new { onchange = "AutoCalculateMandateOnChange(this)" })

JavaScript

function AutoCalculateMandateOnChange(element){
     document.getElementById("LevyFee").disabled = element.checked;    
}

演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接