如何从HTML数据属性中获取数据到数组中

How to get data from HTML data attributes into an array?

本文关键字:获取 数据 数组 数据属性 HTML      更新时间:2023-09-26

我必须上传一些数据与表单加载,在页面上的JavaScript操作中使用。我上传的数据如下:

<select id="allrecords">
    <option data-s-type="X" data-n-type="9" value="xxx">xxx</option>
    <option data-s-type="X" data-n-type="9" value="lmn">lmn</option>
    <option data-s-type="X" data-n-type="8" value="xyz">xyz</option>
    <option data-s-type="Y" data-n-type="3" value="zzz">zzz</option>
    ...
</select>

从这些数据中,使用data-s类型和data-n类型属性来找出哪些值将被添加到数组中,这些值稍后将在程序中使用。我想不出一个方法来得到这个数组使用这个选择列表。

。当data-s-type="X"data-n-type=9时,array = [xxx,lmn]

我不需要上传数据作为隐藏的选择列表

$.map创建数组,并在函数中检查您想要的值,如果它们匹配,则将元素值返回到数组,如下所示:

var arr = $.map($('#allrecords option'), function(el,i) {
    if ($(el).data('s-type') == 'X' && $(el).data('n-type') == '9') 
      return el.value;
});
arr //is now ['xxx', 'lmn']

小提琴