javascript - 【紧急】为啥jquery控制radio是否选中后,不触发radio的change事件????
阿神
阿神 2017-04-10 16:40:17
[JavaScript讨论组]

代码如图,我手动点击单选框的时候会触发change事件,能正常输出“已选中”,但是下面那句使用jquery选中一个radio时,虽然能正常选中单选框,但是change事件不触发了,求大神帮忙看下这是什么情况??

阿神
阿神

闭关修行中......

全部回复(4)
ringa_lee
$('input[value=1]').click();

用这个试试?

ringa_lee

$('input[value="1"]').prop('checked',true).trigger('change')

ringa_lee

change() 方法的定义和用法
当元素的值发生改变时,会发生 change 事件。该事件仅适用于文本域(text field),以及 textarea 和 select 元素。

摘自http://www.w3school.com.cn/jquery/event_change.asp
当你点击radio的时候改变的是radio的【checked】属性,而不是【value】值。

$('input[name=r]').on('click',function(){
    console.log('已选中');
});
怪我咯

事件触发依赖于元素类型,触发方式以及触发不同时刻,如下所示

  • 对于<input type='radio'>和<input type="checkbox">,元素激活时触发(通过点击或者键盘)

  • 用户明确提交更改(例如,鼠标点击选取select,从 <input type="date">选取日期,从<input type="file">选取文件)

  • 元素失去焦点时内容以改变,但并未提交(例如 <textarea> 或者 <input type="text">)也会触发、

不同的游览器不保证特定类型的交互触发change事件。例如,在Gecko,除非用户点击enter或者从<select>移去焦点,通过键盘选取select将不会触发change事件。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号