我有一个.cshtml页面,我将设置几个复选框。
应根据使用TempData传递到视图中的多个变量的值来选中/取消选中复选框。
我已按如下方式设置代码:
<script>
@if (TempData["enabled"] == "True") {
var eCheckBox = document.getElementById(eCheck);
eCheckBox.checked = true;
}
</script>
<h2>Update @TempData["fullName"]</h2>
<input type="checkbox" name="enabledCheckbox" value="Enabled" id="eCheck"/>Enabled<br/>
但该行
eCheckBox.checked = true;
产生错误的标识符;检查是关键字&#39;。我有什么明显的遗失吗?在加载时勾选一个复选框似乎应该很简单。
编辑:我尝试按如下方式更正代码:
<input type="checkbox" name="enabledCheckbox" value="Enabled" id="eCheck" onload="checkTrue()"/>Enabled<br/>
<script type="text/javascript">
function checkTrue() {
alert("Here!");
if (TempData["enabled"] == "True") {
document.querySelector('[name=enabledCheckbox]').checked = true;
}
}
</script>
看起来好像代码完全没有打到函数,因为没有警报触发。
答案 0 :(得分:1)
您错过了通过JS正确检索HTML元素。只需使用:
document.querySelector('[name=enabledCheckbox]').checked = true;