微信小程序遍历多个input并修改他们的值
时间: 2024-11-22 10:43:12 浏览: 57
微信小程序中遍历多个`input`元素并修改它们的值,可以利用`for`循环结合`dataset`属性,因为小程序的`input`组件支持设置`dataset`来存储额外的数据。下面是一个基本的示例:
```javascript
Page({
data: {
inputs: [], // 存储所有 input 的数组
},
onLoad() {
this.getInputs(); // 初始化获取所有输入
},
getInputs() {
let allInputs = document.querySelectorAll('view[data-type="input"]'); // 获取所有 type 为 "input" 的 view 元素
this.setData({
inputs: allInputs.map(input => ({
value: input.dataset.value || '', // 从 dataset 获取当前值,如果没有则默认为空字符串
inputEl: input,
})),
});
},
handleInputChange(e) { // 每当 input 的值改变时触发此函数
const changedInput = e.detail.target; // 获取改变的 input 元素
const index = this.data.inputs.findIndex(i => i.inputEl === changedInput); // 查找该 input 在数组中的索引
if (index !== -1) {
this.data.inputs[index].value = e.detail.value; // 更新值
changedInput.dataset.value = e.detail.value; // 同步更新到 dataset
}
},
})
// HTML 示例:
<view wx:for="{{inputs}}" wx:key="*this">
<input type="text" dataset-value="{{value}}" bindinput="handleInputChange" />
</view>
```
在这个例子中,我们首先获取所有的输入元素,并将它们的值和元素引用保存在`data.inputs`数组中。然后,每当用户更改一个输入框的内容,`handleInputChange`会被触发,更新对应数组项的值,并同步到`dataset`上。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![.zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)