checkbox - 如果复选框的值作为变量传递,getElementById 不起作用
问题描述
这是JS函数。此函数是复选框的事件处理程序。所以元素是复选框。
function updateSelect(element) {
// this works
document.getElementById("file_update_" + 1).disabled = !element.checked;
// this does not works. the element.value is also 1
document.getElementById("file_update_" + element.value).disabled = !element.checked;
}
控制台出现以下错误。
Uncaught TypeError: Cannot set property 'disabled' of null
at updateSelect (<anonymous>:21:75)
at HTMLInputElement.onchange (updateuser:1)
任何想法.... element.value 有什么独特之处?
解决方案
在做了一些试验和错误之后,这有效
function updateSelect(element) {
var v = parseInt(element.value, 10);
document.getElementById("file_update_" + v).disabled = !element.checked;
}
我不知道为什么我必须这样做才能使它工作。如果有人帮助我理解它,我将不胜感激。
推荐阅读
- haskell - No instance of (Eq ([a] -> [a])) when pattern matching a list of functions
- c++ - 数组旋转问题(C++)- 将数组和转换次数作为用户的输入
- android - 如何修复 > 没有方法签名:build_dxc6m5s863o0nfrfjdg2bqjp.android() 适用于参数类型
- react-native - 'react-native-render-html' 不渲染和在 iOS 上符合预期,但在 Android 上确实如此
- twitter-bootstrap - 单击 data-bs-toggle="collapse" 中的文本会在单击文本时向下滚动到子级
- javascript - 在功能组件中收到错误消息“渲染不同组件时无法更新组件(`Header`)”?
- html - Reactjs 的 SEO 替代 404 状态代码
- python - pymongo - 如何按最后日期为每个客户获取单一政策并按日期对所有政策进行排序?
- python - 如何在python中安装人脸识别
- python - 如何打印包含变量的字符串,该字符串包含的是 .json 文件?