【发布时间】:2018-06-13 01:27:50
【问题描述】:
我在自己的 .js 文件中有以下 JavaScript 代码,它试图隐藏/取消隐藏类为“mailing-address-controls”的 div,具体取决于是否选中了“mailing-address-checkbox”。我希望在页面加载和复选框值更改时发生这种情况:
$(document).ready(() => {
function mailingAddressCheckbox() {
if ($(this).is(":checked"))
$(".mailing-address-controls").addClass("hidden");
else
$(".mailing-address-controls").removeClass("hidden");
}
$(".mailing-address-checkbox").load(mailingAddressCheckbox);
$(".mailing-address-checkbox").change(mailingAddressCheckbox);
});
我有以下 Razor .cshtml 代码,它定义了“邮件地址复选框”和“邮件地址控件”:
<label class="control">
@Html.CheckBoxFor(model => model.IsMailingSameAsPhysical, new { @class = "mailing-address-checkbox" })
@Html.LabelFor(model => model.IsMailingSameAsPhysical)
</label>
<div class="mailing-address-controls df fww cols hidden">
......
</div>
但是,mailingAddressCheckbox 函数似乎永远不会被调用,当我选中/取消选中复选框时没有任何反应。请问我做错了什么?
【问题讨论】:
-
不会在复选框元素上触发“加载”事件。浏览器不这样做。
-
另外,"load" 事件在 jQuery 中是用
.ready()调用的。.load做别的事情。
标签: javascript razor