0

首先让您了解我的 HTML 是什么样的,我有一个包含 3 组单选按钮的页面,每组单选按钮由它们的容器命名(即 Page1、Page2、Page3)。所以第一组无线电都共享名称“page1”,第二组共享名称“page2”,依此类推。

所以我使用jQuery来切换单选按钮和该单选包含表的类(即addClass,removeClass on toggle)。切换工作正常,在切换上添加和删除类也是如此。我的问题是,如果我选择了 page2 或 page3 中的收音机,然后选择/重新选择 page1 收音机,jQuery 将删除 page2 和 page3 选中收音机样式的类。

这是JSfiddle 演示的链接。

下面来看看我正在使用的 jQuery。

$(function() {

$('table').click(function(event) {
    $(this).closest('.container').addClass('selected').parent().siblings().each(function() {
        $(this).find('.container').removeClass('selected');
    });

    if(event.target.type != "radio") {

        var that = $(this).find('input:radio');

        that.attr('checked', !that.is(':checked'));

        if (that.is(':checked'))  {
        that.closest('table').addClass('selected');
    }
   else {
        that.closest('table').removeClass('selected');
}
    }
});
});
4

2 回答 2

0

正在.parent().siblings()拾取其他页面,因为div如果您添加它可以解决问题http://jsfiddle.net/5YnBq/1/ ,那么您没有第 1 页左右

于 2012-06-20T21:03:53.207 回答
0

好吧,我对此不是 100%,但请尝试 event.preventDefault();

我认为它正在冒泡,所以当它以 input:radio 为目标时,它使用最外面的表,因此它基本上会针对所有单选按钮。我没有对此进行测试,因为单击继续后小提琴对我不起作用,但试一试,看看会发生什么

于 2012-06-20T21:04:03.250 回答