所以这个问题一直让我疯狂自从昨天下午。我一直在为我们的网站开发一个报价计算器,并试图在我的表单上设置单选按钮的样式。该帖计算器可以在这里看到:jQuery输入[名称=“”]选择器不工作
http://www.thoughtspacedesigns.com/services/web-services/web-design/web-design-quote-calculator
正如你所看到的,当你点击yes或no的问题,背景变为插图橙色。这些只是带有标签的单选按钮。下面是一些示例HTML:
<input type="radio" name="cms" value="yes" id="cms1" /><label for="cms1">Yes</label>
<input type="radio" name="cms" value="no" id="cms2" /><label for="cms2">No</label>
在同一表单中有多个“是/否”无线电组。然后我把显示:无;在单选按钮上并相应地设置标签的样式。然后,点击一个标签时,我使用jQuery类添加到它,像这样:
$("label").live('click', function() {
var thisInput = $(this).prev("input");
var radioGroup = thisInput.attr("name");
$(this).addClass("checked");
$(":radio[name='"+radioGroup+"']").not(thisInput).next("label").removeClass("checked");
}
);
所以你可以看到,当点击一个单选按钮的标签时,一类的“选中”添加到那个标签。这个类有我的样式表中指定的样式(即背景着色)。然后,具有相同名称的单选按钮的所有单选按钮都应该删除“checked”类。
这在FireFox和Chrome中运行的非常好,但是我在IE8(或IE7)中试用它的一分钟内,一切正常,但$(":radio[name='"+radioGroup+"']")
选择器似乎没有运行,因为该类未被删除。从本质上讲,在IE中,我的标签不会“不亮”。我尝试过很多选择器的变体,使用了伪选择器,过滤器,但仍然没有运气。有人对此有所了解吗?
'.live'已弃用,请使用'.on'。 –
这是在IE9 + –
的工作尝试与.on和仍然没有骰子。我使用mac,实际上不能访问ie9,所以我不确定。 –