js如何获取表单中数组的值

js如何获取表单中数组的值,第1张

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" - 定义与输入相关联的值;

参考资料:

百度百科--value

如果你只是偶尔查一次,那就遍历吧,用 []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值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9793744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存