Vue.js 表单

在这里插入图片描述
输入框
实例中演示了 input 和 textarea 元素中使用 v-model 实现双向数据绑定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复选框
以下实例中演示了复选框的双向数据绑定:
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <p>单个复选框:</p>
  <input type="checkbox" id="checkbox" v-model="checked">
  <label for="checkbox">{{ checked }}</label>
	
  <p>多个复选框:</p>
  <input type="checkbox" id="runoob" value="baidu" v-model="checkedNames">
  <label for="baidu">baidu</label>
  <input type="checkbox" id="google" value="Google" v-model="checkedNames">
  <label for="google">Google</label>
  <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
  <label for="taobao">taobao</label>
  <br>
  <span>选择的值为: {{ checkedNames }}</span>
</div>

<script>
new Vue({
  el: '#app',
  data: {
	checked : false,
    checkedNames: []
  }
})
</script>
</body>
</html>

在这里插入图片描述

单选按钮
以下实例中演示了单选按钮的双向数据绑定:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他:
1、全选与取消全选

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<div id="app">
	<p>
		全选:
	</p>
	<input type="checkbox" id="checkbox" v-model="checked" @change="changeAllChecked()">
	<label for="checkbox">
		{{checked}}
	</label>
	<p>
		多个复选框:
	</p>
	<input type="checkbox" id="baidu" value="baidu" v-model="checkedNames">
	<label for="baidu">
		baidu
	</label>
	<input type="checkbox" id="google" value="Google" v-model="checkedNames">
	<label for="google">
		Google
	</label>
	<input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
	<label for="taobao">
		taobao
	</label>
	<br>
	<span>
		选择的值为:{{checkedNames}}
	</span>
</div>
new Vue({
	el: '#app',
	data: {
		checked: false,
		checkedNames: [],
		checkedArr: ["baidu", "Taobao", "Google"]
	},
	methods: {
		changeAllChecked: function() {
			if (this.checked) {
				this.checkedNames = this.checkedArr
			} else {
				this.checkedNames = []
			}
		}
	},
	watch: {
		"checkedNames": function() {
			if (this.checkedNames.length == this.checkedArr.length) {
				this.checked = true
			} else {
				this.checked = false
			}
		}
	}
})

在这里插入图片描述
2、select 列表实例:

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<div id="app">
  <select v-model="selected" name="fruit">
    <option v-for="option in optionsList" :value='option.value'>{{option.key}}</option>
  </select>

  <div id="output">
      选择的网站是: {{selected}}
  </div>
</div>
new Vue({
	el: '#app',
	data: {
		optionsList:[{
			key:'选择',
			value:'Select'
			},{
			key:'淘宝',
			value:'taobao'
			},{
			key:'京东',
			value:'jingd'
			},{
			key:'阿里巴巴',
			value:'alibaba'
			},{
			key:'亚马逊',
			value:'amazon'
			},{
			key:'苏宁',
			value:'suning'
			},{
			key:'拼多多',
			value:'pinduoduo'
		}],
		selected: 'Select'
	}
})

在这里插入图片描述

3、动态全反选。
在这里插入图片描述

var app = new Vue({
    el: '#app',    
    data: {
        checks:false,
        checkList: [
            {id:1, name:'苹果'},
            {id:2, name:'香蕉'}, 
            {id:3, name:'栗子'},
            {id:4, name:'橘子'}
        ],        
        checksListOn: []
    },    
    methods: {
        Numlist : function(){
            if(this.checks){
                var listArr=[];
                for(var i=0;i<this.checkList.length;i++){
                    listArr.push(this.checkList[i].name);                
                }
                this.checksListOn = listArr;            
            }else {
                this.checksListOn = []
            }
        }
    },    
    watch: {
        "checksListOn":function () {
            if(this.checksListOn.length == this.checkList.length){
                this.checks = true            
            }else {
                this.checks = false           
            }
        }
    },
})

在这里插入图片描述

4、

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>

<div id="form">
  <label for="username">昵称:</label>
  <input type="text" id="username" v-model.trim="username">
  <br>
  <label for="age">年龄:</label>
  <input type="number" id="age" v-model.number="age">
  <br>
  <label for="checkbox">单身:</label>
  <input type="checkbox" id="checkbox" v-model="checked">
  <label for="checkbox">{{ checked }}</label>
  <br>
  <label>喜欢:</label>
  <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">
  <label for="runoob">Runoob</label>
  <input type="checkbox" id="google" value="Google" v-model="checkedNames">
  <label for="google">Google</label>
  <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
  <label for="taobao">taobao</label>
  <br>
  <br>
<input type="submit" v-on:click="submit"/>
  <br/>
  <br/>
  <span>昵称: {{ username }}</span>
  <br>
  <span>年龄: {{ age }}</span>
  <br>
  <span>单身: {{ checked }}</span>
  <br>
  <span>喜欢: {{ checkedNames }}</span>
</div>
var app = new Vue({
    el: '#app',    
    data: {
        checks:false,
        checkList: [
            {id:1, name:'苹果'},
            {id:2, name:'香蕉'}, 
            {id:3, name:'栗子'},
            {id:4, name:'橘子'}
        ],        
        checksListOn: []
    },    
    methods: {
        Numlist : function(){
            if(this.checks){
                var listArr=[];
                for(var i=0;i<this.checkList.length;i++){
                    listArr.push(this.checkList[i].name);                
                }
                this.checksListOn = listArr;            
            }else {
                this.checksListOn = []
            }
        }
    },    
    watch: {
        "checksListOn":function () {
            if(this.checksListOn.length == this.checkList.length){
                this.checks = true            
            }else {
                this.checks = false           
            }
        }
    },
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值