vue radio单选框,获取当前项(每一项)的value值操作


Posted in Javascript onSeptember 10, 2020

前言

本文使用了lable关联选中,实际使用中如果不需要,直接将循环语句 v-for 写在 input标签上就可以

1、使用v-for循环的radio单选框

01)需要注意的是,这是使用的是 change 事件,而不是 click 点击事件

<template>
 <div>
  <label v-for="(item, index) in radioData" :key="index">
   <input
    type="radio"
    v-model="radioVal"
    :value="item.value"
    @change="getRadioVal"
   />
   {{ item.value }}
  </label>
 </div>
</template>

<script>
export default {
 data() {
  return {
   radioData: [
    { value: '全部' },
    { value: '部分' },
    { value: '零散' }
   ],
   radioVal: '全部' // 用于设置默认选中项
  };
 },
 methods: {
  getRadioVal() {
   console.log(this.radioVal);
  }
 }
};
</script>

2、不使用v-for循环的radio单选框

01)需要注意的是,这是使用的是 change 事件,而不是 click 点击事件

<template>
 <div>
  <label><input v-model="radioVal" type="radio" value="全部" @change="getRadioVal">全部</label>
  <label><input v-model="radioVal" type="radio" value="部分" @change="getRadioVal">部分</label>
  <label><input v-model="radioVal" type="radio" value="零散" @change="getRadioVal">零散</label>
 </div>
</template>
<script>
export default {
 data() {
  return {
   radioVal: '全部' // 用于设置默认选中项
  };
 },
 methods: {
  getRadioVal() { 
   console.log(this.radioVal);
  }
 }
};
</script>

点击每一项获得当前项的value值,使用v-for 和不使用v-for 实现的效果是一样的

这里就不分开写效果图了

vue radio单选框,获取当前项(每一项)的value值操作

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

补充知识:vue绑定单选框(radio)和复选框(CheckBox)

vue radio单选框,获取当前项(每一项)的value值操作

html部分

<div style="width:500px;margin:50px auto;display:flex;flex-direction:column;">
    <div style="font-weight:600;font-size:18px">问卷调查</div>
    
    <div v-for="(item,index) in question" :key="index" style="padding-top:10px">
     <div style="margin-bottom:10px">{{item.title}}</div>
     <div v-if="item.sex" style="display:flex;align-items:center;">
     
      <div v-for="(item2,index2) in item.sex" :key="index2" @click="chooseSex(item2)" style="margin-right:20px">
       <input type="radio" :value="item2" v-model="radio2"> <span> {{item2}}</span>
      </div>
     </div>

     <div v-if="item.item" style="display:flex;align-items:center;">
      <div v-for="(item3,index3) in item.item" :key="index3" @click="chooseHobbied(item3)" style="margin-right:20px">
       <input type="checkbox" :value="item3" v-model="checkbox"><span> {{item3}}</span>
      </div>
     </div>
    </div>
   </div>

vue数据绑定

data() {
 return {
  radio2:'',
  checkbox:[],
  question:[
   {
    title:"1、请选择你的性别",
    sex:[
     '男','女'
    ]
   },
   {
    title:"2、请选择你的爱好",
    item:[
     '打球','读书','画画','游泳','跑步'
    ]
   }
  ], 
 };
},

js部分

//单选框radio选中值的改变
chooseSex(item){
    this.radio2 = item;
    console.log("点击",item,"值",this.radio2);
   },
   
    //复选框checkbox多项选择后的值,及取消选中后的其他值
   chooseHobbied(item){
    if(box.indexOf(item) === -1){
     box.push(item);
     this.checkbox = box;
     console.log("点击",item,"值",box);
    }else{
      box.splice(box.indexOf(item),1);
     console.log("box值",box);
     this.checkbox = box;
    }
   },

以上这篇vue radio单选框,获取当前项(每一项)的value值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
原生javascript实现图片轮播效果代码
Sep 03 Javascript
读jQuery之九 一些瑕疵说明
Jun 21 Javascript
Kibo 用于处理键盘事件的Javascript工具库
Oct 28 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
关于微信上网页图片点击全屏放大效果
Dec 19 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
Nov 05 Javascript
JavaScript实现班级抽签小程序
May 19 Javascript
jquery实现简单每周轮换的日历
Sep 10 #jQuery
vue循环中点击选中再点击取消(单选)的实现
Sep 10 #Javascript
详解vue父子组件状态同步的最佳方式
Sep 10 #Javascript
vue使用echarts实现水平柱形图实例
Sep 09 #Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 #Javascript
vue 项目引入echarts 添加点击事件操作
Sep 09 #Javascript
Vue this.$router.push(参数)实现页面跳转操作
Sep 09 #Javascript
You might like
PHP+DBM的同学录程序(4)
2006/10/09 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
vue做网页开场视频的实例代码
2017/10/20 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python datetime中strptime用法详解
2019/08/29 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
刑事辩护授权委托书格式
2014/10/13 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
结婚老公保证书
2015/02/26 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
实习介绍信范文
2015/05/05 职场文书
污染环境建议书
2015/09/14 职场文书
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript
volatile保证可见性及重排序方法
2022/08/05 Java/Android