【问题标题】:Jquery Select Radio Button on TD click, while adding class to active TDJquery在TD单击时选择单选按钮,同时将类添加到活动TD
【发布时间】:2013-03-18 03:53:47
【问题描述】:

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

这是用于添加类的脚本:

$(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/

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    摆脱 HTML 中那些讨厌的 onclick 处理程序,改用 .trigger('click')

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

    【讨论】:

      【解决方案2】:

      将点击处理程序放在单元格上而不是单选按钮上,在单击单元格时选择单选按钮并将 CSS 类分配给隐藏它的单选按钮。类似于以下内容。另外,这是一个更新的fiddle that works

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

      【讨论】:

      • 谢谢!这是完美的。
      猜你喜欢
      • 2011-06-05
      • 2013-10-27
      • 2023-03-11
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多