javascript - 我可以确定页面加载时复选框的默认状态(或者通过 Reset() 将其重置为什么值吗?)

标签 javascript html dom

加载 html 页面时,可以按照 HTML 中声明的方式初始化不同的输入元素。如果用户更改某些输入值,然后在表单上执行reset(),则表单将重置为其初始加载状态。

我的问题是,我可以使用 javascript 确定“初始元素状态是”(最好是跨浏览器的方式吗?)

理想情况下是这样的(我不知道该怎么做。)

<input type='checkbox' id='chkbox' checked />

<script>
alert('The initial state was ' ???? );
$('chkbox').checked = true
alert('The initial state was ' ???? );
</script>

此脚本会两次表示初始状态为“假”。

最佳答案

radio- 和 checkbox-type input 有一个属性 defaultChecked由 W3C 1 级和 2 级 HTML DOM 定义。可悲的是,IE only supports it in IE8 ;我个人不知道针对 IE7 及之前版本的干净解决方案(尽管可能有一个!)。您可能需要执行以下操作:

// on page load:
$(':radio,:checkbox').each(function() {
    this.myDefaultChecked = this.checked;
})

您可能还想尝试 el.getAttribute('checked') 是否返回初始值或当前值。

关于javascript - 我可以确定页面加载时复选框的默认状态(或者通过 Reset() 将其重置为什么值吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009311/

相关文章:

javascript - 用Jquery,如何获取按钮绑定(bind)的功能

java 。比较网页结构 (dom) 的相似性。

javascript - Ajax 在返回值之前等待响应

javascript - 鼠标悬停时显示/隐藏 DIV 容器

javascript - 您可以像在 Facebook 和 Twitter 上那样将 Google+ 分享链接到 Google+ 帐户吗?

javascript - 当没有属性值时,为什么 jQuery 不删除类或样式的属性名称?

html - 如何在css中进行图像裁剪

javascript - 如何制作用户可以使用导航按钮而不使用计时器的幻灯片

javascript - Ajax 请求文本在 DOM 中闪烁

javascript - Div.scrollTop 过早滚动