【发布时间】:2013-03-13 18:30:28
【问题描述】:
我使用garlic.js 来保存复选框的输入状态(http://garlicjs.org/)。它工作得很好,但由于某种原因,当页面重新加载后,garlic.js 何时检查输入时,jQuery 无法识别。
我可能在这里遗漏了一些东西,但不确定是什么。
例如,如果我在样式表中设置#myInput:checked ~ .wonka {width: 200px},Css 会识别它并将样式应用于.wonka,每次页面加载并且输入通过大蒜获取其值。当然,使用兄弟选择器是非常有限的(例如,如果类在主体上,我就不能这样做)。
在 jQuery 中做类似的事情,不起作用:
// This is not working
if ($("#myInput").is(":checked")) {
$("body").addClass("wonka");
}
// Neither this
if ($("#myInput").attr("checked")==true) {
$("body").addClass("wonka");
}
注意:这应该在页面加载或刷新时立即触发,而不是在用户单击时触发。关键是在页面刷新(或从其他选项卡加载)时再次触发它,这样它就会与刷新后相同。
当复选框被“点击”或“悬停”时,我确实可以触发其他事件。比如这样:
$("#myInput").on("change", function(){
$("body").addClass("wonka");
});
但是,这又不是问题所在。为什么jQuery不能识别输入状态?,我使用了错误的代码?
【问题讨论】:
标签: jquery html input checkbox