onchange 不适用于单选按钮

2023-11-26

我有一些单选按钮应该调用 hider(something);当它们发生变化时,即当它们被选中或取消选中时。这是可行的,即,当选中时,它们会调用 JS 函数,但是,如果由于从该组中选择另一个单选按钮而未选中它们,则它不会再次调用 js 脚本。

除了 onchange 之外,我还需要使用其他东西吗?

这就是单选按钮目前的样子:

<input name="ostype" type="radio" value="0" onchange="hider(solaris);">solaris
<input name="ostype" type="radio" value="1" onchange="hider(linux);">linux

我的隐藏器功能目前是:

function hider(divid) {
 if ($(divid).is('.hidden')) {
  $(divid).removeClass('hidden');
 } else {
  $(divid).addClass('hidden');
 }
}

由于这个问题仍然没有正确回答,但在谷歌中对我来说“单选按钮 onchange”的排名相当高,所以对于仍在寻找的人来说,这里有一个正确的解决方案。

如果您使用 jQuery,只需使用 jQuery 的属性选择器正如所指出的弗拉维乌斯·斯特夫.

OP,尚不完全清楚您的代码的作用。假设您希望在代码中将“隐藏”类添加到任何处于活动状态的单选按钮。

$("your selector here").change(function() {
    $('input[name="' + this.name + '"]').removeClass("hidden");

    $(this).addClass("hidden");
});

请注意之间的区别$(this)(jQuery 对象)和this(DOM 对象)。基本上,我从每个同名的输入中删除“隐藏”类,然后将“隐藏”类添加到当前输入。

当然,我在这里假设您没有对页面上的不同输入使用重复的名称。另请注意,这仅适用于单选按钮,因为单选按钮“更改”事件仅在激活时触发,而不是在停用时触发。

监听复选框和单选按钮上的 onchange

就我而言,我想向活动单选按钮和复选框添加一个“checked”类。由于复选框在选中和未选中时都会触发“onchange”事件,因此我需要一些额外的代码。

$('input[type="radio"]').change(function() {
    $('input[name="' + this.name + '"]').removeClass("checked");
    $(this).addClass("checked");
});

$('input[type="checkbox"]').change(function() {
    $(this).toggleClass("checked", ($(this).is(":checked")));
});

后一个函数使用切换类设置“检查”类如果.is(":checked") is true.

或者,您可能想将这两个函数组合成如下形式:

$('input[type="radio"], input[type="checkbox"]').change(function() {
    if(this.type == "radio")
        $('input[name="' + this.name + '"]').removeClass("checked");

    $(this).toggleClass("checked", ($(this).is(":checked")));
});

不管怎样,在监听 onclick 事件时一定要小心,因为当通过键盘导航激活输入时它不会触发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

onchange 不适用于单选按钮 的相关文章

  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 如何为背景图像添加边距?

    我想向背景图像添加边距 以便将其与屏幕中间保持距离 但将其添加到该类中会为整个主体添加边距 body poppage background url Imagenes tip3 png 50 200px no repeat E2E4E9 我怎
  • 即使我可以监视其他方法,也无法监视事件处理程序

    我想使用 Jest Jasmine Enzyme 测试 React 中的事件处理程序 MyComponent js import React from react class MyComponent extends React Compon
  • 如何并排放置两个

    我有两个 div 我想要并排放置的元素 如下所示 navigation content 我想要导航 div 根据需要尽可能大 但不能更大 收缩以适应行为 内容 div 然后应该填充剩余的空间 如何在不指定百分比 例如 20 80 的情况下使
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • Chartjs刻度标签位置

    尝试让 Y 轴刻度标签看起来像image https i stack imgur com XgoxX png 位于秤顶部且不旋转 缩放选项当前如下所示 scales yAxes id temp scaleLabel display true
  • 类型“typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")”上不存在属性“auth”。 TS(2339)

    我是 FireBase 的初学者 我正在尝试使用 Angular 通过 FireBase 实现 Google 登录 我在 auth 时收到上述错误 我特此附上login component ts和package json package l
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使

随机推荐

  • 如何将结构体成员设为私有?

    我在头文件中定义了一个结构 如下所示 typedef struct void data point 我想阻止其他人直接访问 data 所以我想我应该在 c 文件中声明结构并使用类似的东西extern typedef struct point
  • 模板中的 Django settings.py 变量

    我遇到了一个非常奇怪的错误 我在我的应用程序中定义了一个应用程序IDsettings py像这样的文件 CARDSPRING APP ID 这几乎适用于我网站上的每个页面 除了一个页面 奇怪的是 其他变量也起作用 在页面的脚本部分中 我有以
  • Android.mk - 构建目录中的所有源文件

    我正在使用 Android NDK 构建我的 cocos2dx 项目 在 Android mk 中 有一个 LOCAL SRC FILES 的定义 其中列出了每个 cpp 文件 每当我添加新的源文件时 我也需要将它添加到那里 它看起来像这样
  • SQL:如何为每天的每个组选择最大值?

    假设我有一个包含以下列的表 Name Date Number 并假设我们将以下数据插入到这些列中 Bob 2011 11 22 1 Bob 2011 11 22 5 Bob 2011 11 22 4 Bob 2011 11 22 3 Wen
  • 自动更新的 iOS 应用程序,用于企业分发

    是否有可能制作一个iOS应用企业分布透明地自我更新 说 更新 我的意思是完全更新其逻辑 这种方法的一个可能用途是远程维护的自助服务亭 iPad 不可能直接更新应用程序二进制文件 但我看到了一些可能性 具有单个 UIWebView 且逻辑在
  • 如何像 Facebook 上那样在 div 外部制作可滚动的 DIV 并带有滚动条?

    我想要一个可滚动的 div 但默认情况下滚动条应该位于浏览器的右侧 但不在 div 的右侧 我在 facebook 上看到过 ceter div contentArea 由右侧浏览器滚动条滚动 Facebook 的做法是让所有不滚动的内容都
  • Rails 单表继承 - 显式设置类型的最佳方法是什么?

    我在用单表继承在我的 Rails 应用程序中 并且想要显式设置实例的类型 我有以下内容 class Event lt ActiveRecord Base class SpecialEvent lt Event 它是通过单表继承来实现的 Sp
  • 我可以使用二进制在汇编中写入整数常量吗?

    我有一个作业要求定义 4 个整数 每个整数都有不同的字节长度 1 2 4 8 这段代码可以工作吗 segment data one db 1 two dw 01 four dd 1011 eight dq 01101110 global s
  • 我可以检测用户何时使用后退按钮进入页面吗?

    Edit 我真正需要知道的是 当用户通过后退按钮到达页面时 是否有任何 javascript 事件能够可靠地触发 我尝试过onload活动为body元素 但它不会在 Firefox 或 Safari 上触发 我正在使用一些旧代码 这些代码试
  • MongoDB E11000重复键错误

    我有一个模型在第一次发布后不断出错 我正在创建一个调度应用程序 该应用程序有 X 天 包含房间和房间的时间段 我遇到的问题是在数据库中创建日期对象 为了便于阅读 我只需要一个键值对 day model js var mongoose req
  • 现代 C++ 方法重复代码设定次数

    很简单 是否有一种更简单的方法来重复一个块一定次数 其中块内部不需要计数器变量 简单的解决方案当然是 for int i 0 i lt repetitions i do your thing i is not used here 然而 既然
  • 全局字典不需要关键字global来修改吗? [复制]

    这个问题在这里已经有答案了 我想知道为什么我可以更改全局字典而不用global关键词 为什么其他类型必须这样做 这背后有什么逻辑吗 例如 代码 usr bin env python3 stringvar mod dictvar key1 1
  • 从返回堆栈恢复的片段

    我正在使用兼容包来将 Fragment 与 Android 2 2 一起使用 当使用片段并将它们之间的转换添加到后台堆栈时 我希望实现与活动的 onResume 相同的行为 即每当片段弹出后被带到 前台 对用户可见 时backstack 我
  • Bash,不同文件测试的令人困惑的结果(test -f)

    我在 bash 中对这个表达式感到困惑 var empty var test f var echo test if such file exists 0 and this file exists amazing test f echo le
  • 在 Django 中合并两个具有相同主键的不相关表/模型

    我有两个具有相同主键的不相关表 ip mac 11 11 11 11 48 C0 09 1F 9B 54 33 33 33 33 4E 10 A3 BC B8 9D 44 44 44 44 CD 00 60 08 56 2A 55 55 5
  • flutter:NoSuchMethodError:在 null 上调用 getter 'isEmpty'

    我正在调用 Web API 并接收配置文件模型作为响应 当我使用下面的代码时 它会抛出一个错误 try if profile message isEmpty Navigator of context pushNamed home else
  • 将字符串拆分为多个不同的字符

    我想使用一个或多个分隔符来分割字符串 例如 a b c 拆分为 和 将给出列表 a b c 目前 我在标准库中看不到任何东西可以做到这一点 而且我自己的尝试有点笨拙 例如 def my split string split chars if
  • Flutter SliverAppBar 与选项卡覆盖内容

    我已经遵循了这个教程 https medium com diegovoper flutter collapsing toolbar sliver app bar 14b858e87abe 创建带有 TabBar 的折叠工具栏 问题是 当我滚
  • 如何找到某个网站的JSON数据的链接

    我刚刚完成了一个关于如何开发一个 Android 应用程序的教程 该应用程序使用 JSON 数据从博客中检索更新的帖子 用于检索帖子的 JSON 数据的链接是以 api get recent summary 结尾的博客名称 如何找到不同网站
  • onchange 不适用于单选按钮

    我有一些单选按钮应该调用 hider something 当它们发生变化时 即当它们被选中或取消选中时 这是可行的 即 当选中时 它们会调用 JS 函数 但是 如果由于从该组中选择另一个单选按钮而未选中它们 则它不会再次调用 js 脚本 除