js change方法获取旧值
时间: 2023-12-22 22:04:37 浏览: 43
在JavaScript中,change事件监听器函数可以通过访问事件对象来获取旧值。在事件对象中,有一个属性叫做target,它代表触发事件的元素,还有一个属性叫做oldValue,它代表元素值变化前的旧值。
例如,我们可以监听一个input元素的change事件,并获取它的旧值和新值,代码如下:
```
var inputElement = document.getElementById("myInput");
var oldValue;
inputElement.addEventListener("change", function(event) {
console.log("旧值:" + oldValue);
console.log("新值:" + event.target.value);
oldValue = event.target.value;
});
```
在上面的代码中,我们定义了一个变量oldValue,用于存储上一次input元素的值。在change事件监听器函数中,我们首先通过访问事件对象的target属性获取到input元素,然后通过访问事件对象的oldValue属性获取到元素值变化前的旧值。最后,我们将新值赋值给oldValue,以备下一次change事件使用。
需要注意的是,oldValue属性只在一些特定的输入元素上才有定义,例如input、textarea和contenteditable元素。对于其他元素,可能需要使用其他方法来获取旧值。
相关问题
el-select change事件获取旧值
在 el-select 组件中,可以通过监听 change 事件来获取旧值。在事件处理函数中,可以通过 event 参数的 oldValue 属性来获取旧值。
示例代码如下:
```html
<template>
<el-select v-model="selectedValue" @change="handleChange">
<el-option v-for="item in options" :key="item.value" :value="item.value" :label="item.label"></el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selectedValue: '',
options: [
{ value: 1, label: 'Option 1' },
{ value: 2, label: 'Option 2' },
{ value: 3, label: 'Option 3' }
]
};
},
methods: {
handleChange(event) {
const oldValue = event.oldValue;
console.log('旧值:', oldValue);
}
}
};
</script>
```
在上面的示例中,当 el-select 组件的值发生变化时,会调用 handleChange 方法,并将 event 对象作为参数传入。通过访问 event.oldValue 属性,即可获取旧值。你可以根据需要在 handleChange 方法中进行相应的处理。
el-select change方法获取labal值
在 Element UI 的 `el-select` 组件中,可以通过 `change` 事件来获取选中项的 label 值。以下是一个示例:
```html
<template>
<el-select v-model="selectedValue" @change="handleChange">
<el-option label="Option 1" value="option1"></el-option>
<el-option label="Option 2" value="option2"></el-option>
<el-option label="Option 3" value="option3"></el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selectedValue: ''
};
},
methods: {
handleChange(value) {
const selectedOption = this.$refs.select.getOption(value);
const selectedLabel = selectedOption.label;
console.log('Selected Label:', selectedLabel);
}
}
};
</script>
```
在上面的示例中,通过绑定 `v-model` 来获取选中的值,然后在 `change` 事件处理方法 `handleChange` 中获取选中项的 label 值。通过 `this.$refs.select.getOption(value)` 方法可以获取选中项的选项对象,进而获取其 label 值。
请确保在模板中给 `el-select` 添加了 `ref="select"` 属性,以便在组件实例中引用该组件。
当选项发生变化时,`handleChange` 方法会被调用,并打印出选中项的 label 值。你可以根据需要进行进一步处理。