vue 可选按钮_Vue.js---表单标签中的单选按钮、复选按钮和下拉列表的取值问题...

表单标签取值问题中,单选按钮、复选按钮和下拉列表都比较特殊。这里总结一下vue.js中关于单选按钮、复选按钮和下拉列表不同情况的取值特殊性问题。

一、单选按钮

单选按钮:单选按钮用 v-model 绑定填值属性用来表示checked,用于判断是否选中。

当单选按钮没写value值时,在 vue.js 中将值赋为null。

在普通标签中,当没写name时,html 会默认将没写name 的单选按钮分为一组;

在vue中,即使没写name,只要单选按钮v-model绑定了同一个变量(如:gender),这些按钮也会被分为一组。但是习惯上,我们还是也写上name。

在data中定义的变量gender的值将影响到单选按钮的默认选项,如: 本例子中gender:"女",默认选择女。

js部分代码: window.onload = function (){ new Vue({ el:"#app", data:{ gender:"女" } }); }

html部分代码:

男 女

二、复选按钮

复选按钮:单选按钮用 v-model 绑定填值属性用来表示checked,用于判断是否选中。

当多选按钮没写value值时,在 vue.js 中将值赋为null。

vue.js对于复选按钮如何取值取决于 v-model 绑定的变量的类型。

1、基本类型

初始化时,v-model 绑定的是任意的基本类型(Number、String、Boolean、Null、Undefined),取值时会默认转为Boolean类型,true时表示选中,false表示未选中。

js段代码: window.onload = function (){ new Vue({ el:"#app", data:{ hobbies01:"", hobbies02:"...", hobbies03:false } }); }

html段代码:

敲代码 写代码 撸代码

效果截图:

20d5bc3319b6e6d203ad2ccc4f474ec7.gif

初始化时,hobbies01值为空字符串转化为Boolean类型时false,所以未选中;hobbies02值为字符串“....”,转化为Boolean类型是true,所以默认选中;hobbies03默认值是false,所以初始化时未选中。

此后,每次点击多选按钮,hobbies01、hobbies02、hobbies03的值都是 true | false 变化。

2、数组

初始化时,v-model 绑定的变量是数组类型时。vue 认为这个复选按钮是用于获取值,会以选择(鼠标点击)的顺序将对应的值写入到数组中。

js代码段: window.onload = function (){ new Vue({ el:"#app", data:{ hobbies:[] } }); }

html代码段:

敲代码 写代码 撸代码

效果截图:

初始化时 hobbies 是一个空数组。注意鼠标点击顺序和 hobbies 值的对应变化。

0384009b7b80650d6f7d2281902a5508.gif

三、下拉列表

下拉列表:下拉列表中 v-model 写在下拉列表的标签中 标签中。

根据指定值选择对应 添加选中状态。

option 没有value属性 以 option 正反标签中的值 作为value。

3.1 下拉列表

js代码段: window.onload = function (){ new Vue({ el:"#app", data:{ s:"" } }); }

html代码段:

小学中学大学请选择

结果分析:

因为变量 s 的初始值是空字符串,所以默认选择 “请选择选项”(可以根据s的初识值改变默认选项)。当选择其他option时,s 的值会随之改变(字符串:"s1"/"s2"/"s3")。

3.2 未写value值

当未写 value 时, s 的值会变成 “小学”/“中学”/“大学”。

3.3 多选下拉列表

multiple关键字,按住 ctrl 键进行多选。注意此时 model 绑定的变量应该是数组。

至此,完毕。感谢您的阅读。 不积跬步,无以至千里;不积细流,无以成江海。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值