javascript - 检测select的值发生改变(通过js进行的改变)的事件
黄舟
黄舟 2017-04-11 12:22:05
[JavaScript讨论组]

通过js动态修改select的选中值,然后需要检测到这个值变化的时候去出发另外一个事件或者是检测到这个发生变化时做一些其他的事情。change只能是鼠标选择发生变化

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
巴扎黑

$('select').val('2').change()

阿神

如果修改的是值的话,可以使用对象,用definePropertyset函数去监测值的修改
给你一个demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <select>
        <option value='1'>1</option>
        <option value='2'>2</option>
        <option value='3'>3</option>
        <option value='4'>4</option>
    </select>
</body>
<script>
    var select = {
        val: '1'
    }
    Object.defineProperty(select, 'val', {
        set: function(value) {
            document.querySelector('select').value = value
            console.log('select的值已经修改,下面要做一些事情')
        }
    })
    
    select.val = '3'
</script>
</html>
黄舟

js修改的话应该是没有事件的。

不过你可以试试vue框架的数据绑定功能,

阿神

谢邀。既然你要用js进行修改,那你可以封装一个修改方法,然后在每次修改后手动触发一下change事件

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

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