通过js动态修改select的选中值,然后需要检测到这个值变化的时候去出发另外一个事件或者是检测到这个发生变化时做一些其他的事情。change只能是鼠标选择发生变化
通过js动态修改select的选中值,然后需要检测到这个值变化的时候去出发另外一个事件或者是检测到这个发生变化时做一些其他的事情。change只能是鼠标选择发生变化
如果修改的是值的话,可以使用对象,用defineProperty
的set
函数去监测值的修改
给你一个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>
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.4k 阅读✓ 已解决
$('select').val('2').change()