【问题标题】:jQuery - remove class from element when radio button is uncheckedjQuery - 取消选中单选按钮时从元素中删除类
【发布时间】:2011-12-06 22:16:39
【问题描述】:

我一直在编写表单元素替换脚本——用可以设置样式的 div 替换普通表单元素——但我遇到了单选按钮的问题。 I cannot figure out how to remove a checked replacement button's "selected" class when another button is selected.

我在这个小提琴中包含了我的代码: http://jsfiddle.net/zumwalt/eEvPE/3/

非常感谢任何帮助!

【问题讨论】:

  • var id = $(this).attr('id'); var radio = $('input[id="'+id+'"]'); Yikes.
  • 是的,我认为这不是最聪明的举动。我对写这些东西很陌生。

标签: jquery forms radio-button


【解决方案1】:

您只需要在单击处理程序中添加以下行以从所有无线电中清除 selected 类,然后再将其添加到单击的那个:

$(".radio").removeClass("selected");

Updated fiddle here

【讨论】:

  • 如果同一页面中有多个名称不同的单选按钮怎么办。这将删除所有人的课程。
  • 如此简单。我已经看这个太久了。谢谢您的帮助。 @Interstellar_Coder - 应用程序的性质使这不是问题,但这是一个好点。
【解决方案2】:

【讨论】:

    【解决方案3】:

    从所有带有removeClass() 的按钮中删除“选定”类,然后添加到单击的按钮中。但是,您应该只从同一单选组中的按钮中删除类。有几种方法可以实现这一点。

    您可以要求所有按钮都在一个 div 元素中,并且只更新其中的按钮。 或者,您可以将包含 name attr 的类从原始收音机添加到您的按钮,并仅更新具有此类的按钮。 或者,您可以为按钮添加额外属性,其值等于原始收音机的 name 属性,并仅更新具有正确属性的按钮。看到这个小提琴:http://jsfiddle.net/n3PUe/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2010-10-14
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多