在TD上点击Jquery选择单选按钮,同时将类添加到活动TD

时间:2013-03-27 21:06:49

标签: javascript jquery

我希望创建一个网格,允许用户选择他们想要的单元格,这将选择一个单选按钮。理想情况下,我能够隐藏单选按钮并在活动单元格中添加一个类,以便用户知道他们选择了哪一个。我现在遇到的问题是,当用户点击单元格时选择了单选按钮,只有在单击实际的单选按钮时才会添加该类。此外,单击另一个框时,它并不总是删除该类。

这是用于添加类的脚本:

$(document).ready(function() {
    $("td input").change(function () {
        var $this = $(this);
        var td = $this.parent();
        td.siblings().filter(function() {
            return !!$(this).find('input[name="'+$this.attr('name')+'"]:radio').length;
        }).removeClass('activecell');
        if(this.checked) {
            td.addClass('activecell');
        }
    });
});

该页面的演示 http://jsfiddle.net/VU6dN/

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

将单击处理程序放在单元格而不是单选按钮上,单击单元格时选择单选按钮,并将CSS类指定给隐藏它的单选按钮。像下面这样的东西。此外,这是一个更新的fiddle that works

$('td').click(function() {
    var $cell = $(this);
    $('td.activecell').removeClass('activecell');
    $cell.addClass('activecell');
    $cell.children('input').attr('checked', 'checked');
});

答案 1 :(得分:1)

在HTML中删除那些讨厌的onclick处理程序并改为使用.trigger('click')

  $('td').click(function () {
      $(this).find('input').trigger('click');
  });