我正在建立一个网站,其中一个主要功能是用于选择值的漂亮的树视图菜单。如果用户单击其树中包含任何子项的复选框,我希望它检查该框的子项。当然,使用脚本编写这是一个儿童游戏,但我想知道是否有与纯HTML / CSS相同的内容?
基本上我希望网站降级很好,但如果用户必须手动选择每个值,那将非常麻烦。有没有办法在没有脚本的情况下获得此功能?
编辑:我意识到,虽然不方便,但我可以给非JavaScript用户一个多选框,这将是一个更多的努力,但仍然可以完成工作。非常感谢您的所有投入! :d答案 0 :(得分:1)
HTML和CSS不是编程语言。它们用于标记和样式。所以你所寻找的并不存在。
做你想做的事的最好方法是添加一点javascript。
答案 1 :(得分:1)
简单,不。 CSS用于样式化。要在复选框上侦听onclick事件,需要启用Javascript。
我能想到的唯一非脚本方式是在表单中包含每个复选框,在选中该复选框后,您可以按Enter键或单击“提交”按钮。然后,您可以使用服务器端脚本在页面重新加载时将其他复选框设置为已选中。虽然有点黑客!
答案 2 :(得分:0)
我不知道在没有客户端脚本的情况下触发事件的任何方法,例如onclick或onchange。
答案 3 :(得分:0)
非常确定没有
就没有办法做到这一点a)脚本
b)重新加载页面
答案 4 :(得分:0)
脚本现在听起来不是那么糟糕,是吗? : - )
答案 5 :(得分:0)
使用未启用JavaScript的浏览器= quite cumbersome
答案 6 :(得分:0)
不,在没有脚本的情况下单击一个复选框时,无法自动检查其他复选框。
如果您绝对希望解决方案在禁用JavaScript时优雅地降级,则一种方法可能是包含一个额外的复选框,这意味着“选择所有子项”,而不实际检查子项。这是一个有点人为的例子:
禁用Javascript:
Pick the stuff you like (check all that apply): [ ] Colors # Doesn't check all children, since scripting is disabled [ ] All colors # Won't check all boxes, but should be interpreted # by the server as if all color boxes were checked [ ] Red [ ] Blue [ ] Yellow [ ] Beverages [ ] All beverages [ ] Tea [ ] Coffee [ ] Coca-Cola [ ] Pepsi
启用JavaScript后,您可以删除所有颜色/饮料复选框,而是添加一个脚本,在选中复选框时检查所有孩子:
Pick the stuff you like (check all that apply): [ ] Colors # Automatically checks all children [ ] Red [ ] Blue [ ] Yellow [ ] Beverages # Automatically checks all children [ ] Tea [ ] Coffee [ ] Coca-Cola [ ] Pepsi
在这种情况下,我可能不会为优雅的退化而烦恼。那些禁用JavaScript的少数用户仍然可以手动检查所有复选框,因此不会完全破坏应用程序。