【问题标题】:Toggle two checkboxes with one click and without js一键切换两个复选框,无需js
【发布时间】:2012-05-31 17:08:19
【问题描述】:

有没有办法一键切换两个组合的复选框?

我有一个小日历,我想用复选框选择几周。一周可以是两个月,所以我在同一周有两个复选框。我怎样才能安全地结合它们?

我正在使用这个抽象的 HTML:

<label for="aa"><input type="checkbox" id="bb" /></label><br />
<label for="bb"><input type="checkbox" id="aa" /></label>

查看我的updated fiddle 获取完整示例。

这在 IE9 中的 Firefox 中运行良好(除非您双击),只是在您单击的位置切换复选框。

请不要建议使用 JavaScript。我知道这很简单。

【问题讨论】:

  • 不要认为这是有效的 HTML,您是在询问 Firefox 和 IE9 是否会以相同的方式解释错误的标记,而在这种情况下它们似乎不会。无论哪种方式,您都不应该依赖糟糕的代码。
  • 对于有效的标记,我认为您将不得不(不幸地)使用... JavaScript。很抱歉提到 JavaScript。
  • 输出有效html 我想我只是想尝试一些没有在任何标准中定义的东西。我的意思是点击(我猜是正确的词)到标签标签上,它在第二个复选框上调用点击事件。而 IE 中的复选框似乎消耗了点击事件。
  • W3C(设置 Web 标准的组织,例如制作 HTML)验证器表示该标记不正确。见validator.w3.org
  • @ShaquinTrifonoff 我的输出有效,请参阅我更新的jsfiddle 和我的w3c result

标签: html checkbox cross-browser


【解决方案1】:

只有一个复选框怎么样?我的意思是,只有一个星期,虽然它跨越几个月,但不是整整两个星期!考虑一下您的设计,即 2012 年 4 月 5 日结束的一周是在 5 月结束的一周,当然它从 4 月开始,但如果你打算把你的几周放在一个包里,如果可以的话,做一些确定的事情。

【讨论】:

  • 我应该如何确定一天是在实际月份中还是在上一个或下一个。我认为这会导致丑陋的结果。
  • 没有更详细地了解您想要实现的目标,恐怕我无法回答。随意发布一个 jsfiddle(是的,我知道你没有使用 javascript,但它对 HTML/CSS 也有好处)或测试页面等。
  • 这是我的updated jsfiddle
  • 好的,我知道你现在想要实现什么,它有点像 Outlook 日历。如果您想让 JavaScript 可靠,我强烈建议您使用 JavaScript。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 2020-05-13
  • 1970-01-01
相关资源
最近更新 更多