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

mdfafbf1  于 2023-03-17  发布在  jQuery
关注(0)|答案(1)|浏览(128)

我必须上传一些数据与表单加载,将在页面上的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-type和data-n-type属性被用来找出哪些值将被添加到数组中,数组稍后将在程序中使用。我想不出一种方法来使用这个选择列表获得该数组。
例如,当data-s-type="X"data-n-type=9array = [xxx,lmn]
我没有上传数据作为隐藏选择列表。

ttp71kqs

ttp71kqs1#

$.map创建数组,在函数内部检查所需的值,如果匹配,则将elements的值返回到数组,如下所示:

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']

FIDDLE

相关问题