我有一个包含radiobuttons(即3x3网格)的表格,当我选择其中一个包含radiobutton来改变颜色时我想要。在此之后example我做了这个
<table class="table-name">
<tr>
<td>
<span>Some text</span>
<input type="radio" name="some-name" />
</td>
<td>
<span>Some text</span>
<input type="radio" name="some-name" />
</td></tr>
</table>
和javascript
$(':radio').change(function() {
$('.color-1').removeClass('color-1');
var $td = $(this).parent('td');
if (this.checked) {
$td.addClass('color-1');
} else {
$td.removeClass('color-1');
}
});
这在firefox上运行良好。但在Internet Explorer上它会为之前选择的颜色着色 因此,如果我选择1,1它会保持白色,但是当我选择1,2然后1,1变成蓝色,依此类推。
有什么想法吗?
答案 0 :(得分:3)
IE(所有版本)对onChange
和checkboxes
上的radio buttons
事件实施错误。
如果要提供可靠的跨浏览器行为,则必须使用onClick
事件。
有关详细信息,请参阅this link。
答案 1 :(得分:0)
显然这可以通过使用
来解决$(':radio').click(function() ...
而不是.change。至少在与ie的兼容性方面。
任何人都知道为什么改变失败或者很可能是我做错了什么?