vue如何实现表单多选并且获取其中的值

 更新时间:2023年07月03日 09:49:48   作者:web前端 zxp  
这篇文章主要介绍了vue如何实现表单多选并且获取其中的值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue实现表单多选并且获取其中的值

说明

使用 v-model 指令 结合 name / value 使用

需要你的 data 里面的数据类型为 数组

代码说明

为什么会是 v-model.number ?

这是将它的值固定为 数字类型,否则你获取到的就是字符串

<div id="root">
    <input type="checkbox" v-model.number="hobby" name="hobby" value="1">学习
    <input type="checkbox" v-model.number="hobby" name="hobby" value="2">游泳
    <input type="checkbox" v-model.number="hobby" name="hobby" value="3">下棋
    <input type="checkbox" v-model.number="hobby" name="hobby" value="4">乒乓球
    <div>{{hobby}}</div>
</div>
</body>
<script>
    new Vue({
        el:"#root",
        data:{
            hobby:[4]  //默认的选择第四个,你可以不选默认项
        },
    })
</script>

它现在的值就是 data 数组中的数据,想要获得数据直接使用这个数组

vue获取表单数据——input、radio、checkbox、select、textarea

获取表单数据(案例)

1.效果

注意:这个案例只是简单的再前端输出获取的表单内容,并没有提交到后台

2.代码

<div class="root">
        <form @submit.prevent="demo">
            <!-- trim去掉首尾空格,中间的空格去不掉 -->
            账号:<input type="text" v-model.trim="userInfo.account"> <br><br>
            密码:<input type="text" v-model="userInfo.password"><br><br>
            <!-- number输入的字符串转换为数字 -->
            年龄:<input type="number" v-model.number="userInfo.age"><br><br>
            性别:
            男<input type="radio" v-model="userInfo.sex" name="sex" value="男">
            女<input type="radio" v-model="userInfo.sex" name="sex" value="女"><br><br>
            爱好:
            学习<input type="checkbox" v-model="userInfo.hobby" value="学习">
            打游戏<input type="checkbox" v-model="userInfo.hobby" value="打游戏">
            吃饭<input type="checkbox" v-model="userInfo.hobby" value="吃饭">
            <br><br>
            选择地址:
            <select v-model="userInfo.city">
                <option value="北京">北京</option>
                <option value="上海">上海</option>
                <option value="深圳">深圳</option>
                <option value="武汉">武汉</option>
            </select> <br><br>
            其他信息:
            <!-- lazy失去焦点再获取数据 -->
            <textarea v-model.lazy="userInfo.other" cols="30" rows="10"></textarea>
            <br><br>
            <input type="checkbox" v-model="userInfo.agree">
            阅读并接受<a href="www.baidu.com" rel="external nofollow" >《用户协议》</a>
            <button>提交</button>
        </form>
    </div>
new Vue({
            el: '.root',
            data() {
                return {
                    userInfo: {
                        account: '',
                        password: '',
                        sex: '',
                        hobby: [],
                        city: '北京',
                        other: '',
                        agree: '',
                        age: ''
                    }
                }
            },
            methods: {
                demo() {
                    //JSON.stringify() 将数据转换为json字符串
                    console.log(JSON.stringify(this.userInfo));
                }
            },
        })

心得

收集表单数据:

1.<input type=“text”/>,则v-model收集的是value值,用户输入的就是value值。

<input type=“radio”/>,则v-model收集的是value值,且要给标签配置value值。

2.<input type=“checkbox”/>没有配置input的value属性,那么收集的就是checked(勾选 or 未勾选,是布尔值)

3.配置input的value属性:

  • (1)v-model的初始值是非数组,那么收集的就是checked(勾选 or 未勾选,是布尔值)
  • (2)v-model的初始值是数组,那么收集的的就是value组成的数组

4.备注:v-model的三个修饰符:

  • lazy:失去焦点再收集数据
  • number:输入字符串转为有效的数字
  • trim:输入首尾空格过滤

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue项目实现路由跳转到新页面,返回旧页面,保留之前的数据记录(操作代码)

    vue项目实现路由跳转到新页面,返回旧页面,保留之前的数据记录(操作代码)

    这篇文章主要介绍了vue项目实现路由跳转到新页面,返回旧页面,保留之前的数据记录,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • vue基于两个计算属性实现选中和全选功能示例

    vue基于两个计算属性实现选中和全选功能示例

    这篇文章主要介绍了vue基于两个计算属性实现选中和全选功能,结合实例形式分析了vue计算属性get及set操作页面元素实现选中与全选功能相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • vue+element树组件 实现树懒加载的过程详解

    vue+element树组件 实现树懒加载的过程详解

    这篇文章主要介绍了vue+element树组件 实现树懒加载的过程,本文通过图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 详解Vue3-pinia状态管理

    详解Vue3-pinia状态管理

    这篇文章主要介绍了Vue3-pinia状态管理,pinia是 vue3 新的状态管理工具,简单来说相当于之前 vuex,它去掉了 Mutations 但是也是支持 vue2 的,需要的朋友可以参考下
    2022-08-08
  • vue-router之路由钩子函数应用小结

    vue-router之路由钩子函数应用小结

    vue-router提供的导航钩子主要用来拦截导航,让它完成跳转或取消,本文主要介绍了vue-router之路由钩子函数应用小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • vue 路由守卫(导航守卫)及其具体使用

    vue 路由守卫(导航守卫)及其具体使用

    这篇文章主要介绍了vue 路由守卫(导航守卫)及其具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • vue读取本地的excel文件并显示在网页上方法示例

    vue读取本地的excel文件并显示在网页上方法示例

    这篇文章主要介绍了vue读取本地的excel文件并显示在网页上方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • vue组件挂载到全局方法的示例代码

    vue组件挂载到全局方法的示例代码

    这篇文章主要介绍了vue组件挂载到全局方法的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • vue v-on传递参数和事件修饰符的使用

    vue v-on传递参数和事件修饰符的使用

    本文主要介绍了vue v-on传递参数和事件修饰符的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • vue结合axios实现restful风格的四种请求方式

    vue结合axios实现restful风格的四种请求方式

    这篇文章主要介绍了vue结合axios实现restful风格的四种请求方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论