
value 属性为 input 元素设定值,表单的值一般是元素的value属性:
<input value="value">
假设有以下form,拥有一个input字段(带空值预定义)以及一个提交按钮 :
提取表单值代码:
提交之后获取的结果是:
空值:
不为空:
扩展资料:
value 属性为 input 元素设定值。对于不同的输入类型,value 属性的用法也不同:
(1)type="button", "reset", "submit" - 定义按钮上的显示的文本;
(2)type="text", "password", "hidden" - 定义输入字段的初始值;
(3)type="checkbox", "radio", "image" - 定义与输入相关联的值;
参考资料:
如果你只是偶尔查一次,那就遍历吧,用 []every 还是很容易写的,或者用 for in 也不难。
但是如果需要经常查找,那最好建立一个查找表,比如
function createLookMap(field) {
var map = {}
for (var i = 0; i < jsonArrlength; i++) {
var item = jsonArr[i]
var key = item[field]
map[field] = item
}
return map
}
var idMap = createLookMap("id")
在查找的时候只需要直接从 idMap 中取就行了
var id = needId()
var obj = idMap[id] // the found object or undefined
如果还需要按 name 来查找,可以再建一个查找表
var nameMap = creaetLookMap("name")
如果 name 不是唯一的,那创建查找表的时候就要耍点手段,保存一个数组而不是一个对象
function createLookMap(field) {
var map = {}
for (var i = 0; i < jsonArrlength; i++) {
var item = jsonArr[i]
var key = item[field]
var list = map[key]
fi (!list) {
map[key] = list = []
}
listpush(item)
}
return map
}
通常情况下,我们可能会用v-for循环出一堆checkbox,提交数据的时候需要去获取选中的checkbox的value值,之前我的获取方式是给checkbox添加点击事件,这样确实能解决问题,但是总觉得有更好的办法,因为同为form表单元素的文本框就可以使用v-model来实现数据双向绑定,难道checkbox不能实现数据双向绑定吗?
呵呵哒,真的可以,我一直都不知道。。。。。。。。。
<input type="checkbox" v-model="checkFlag">
data () {
return {
checkFlag: true //checkbox默认选中
}
}
上面是最简单的用法,那如果使用场景是:购物车里循环遍历了所有用户添加的商品,用户选中一些商品,去结算,我们需要在结算的时候获取所有选中的checkbox的value值;
页面的大概效果如下:
这里我们给checkbox绑上了v-model的属性,以及value属性,checkedArr是一个数组,用来放选中的itemname,当checkbox选中或者取消都会触发v-model绑定的checkedArr值变化;
强调最重要的一点,v-model会在checkbox选中的时候,自动将当前的value值push进数组;在取消checkbox的时候,自动将当前的value值pop出数组。
以下是依次选中四个商品,然后取消商品4,打印的checkedArr的值
至于全选按钮什么时候选中,那我们可以watch一下checkedArr:
以上就是关于js如何获取表单中数组的值全部的内容,包括:js如何获取表单中数组的值、json数组 根据动态key获得value 有什么好的方法、vue中如何获取选中的checkbox的value值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)