Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将html5数据属性(位于选择列表中)中的数据获取到数组中?_Javascript_Jquery_Html5 Data - Fatal编程技术网

Javascript 如何将html5数据属性(位于选择列表中)中的数据获取到数组中?

Javascript 如何将html5数据属性(位于选择列表中)中的数据获取到数组中?,javascript,jquery,html5-data,Javascript,Jquery,Html5 Data,我基本上必须使用表单加载上传一些数据,以便在页面上的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

我基本上必须使用表单加载上传一些数据,以便在页面上的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>

xxx
lmn
xyz
zzz
...
根据这些数据,data-s-type和data-n-type属性用于确定哪些值将添加到数组中,该数组稍后将在程序中使用。我想不出使用此选择列表获取该数组的方法

e、 g.当data-s-type=“X”和data-n-type=9时,数组=[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']

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

它是否缺少一个
多个
属性?它是否缺少一个
多个
属性?thx,这是有效的。但如果我不想使用select选项来存储数据呢?我在散列中有键值对。我如何将它们放在一个DIV元素中,然后根据键值获得某个值?@rajeev-您可以使用$.map创建基于几乎任何内容的数组,所以这应该不是问题。对于散列,您可能需要以某种方式获取这些散列,并使用$.map函数中的某些内容对其进行过滤,但是在没有看到代码的情况下,很难回答“什么”和“如何”问题,您可能最好提出一个关于这一点的新问题,并使用一些代码等。thx,这是可行的。但如果我不想使用select选项来存储数据呢?我在散列中有键值对。我如何将它们放在一个DIV元素中,然后根据键值获得某个值?@rajeev-您可以使用$.map创建基于几乎任何内容的数组,所以这应该不是问题。对于散列,您可能需要以某种方式获取这些散列,并使用$.map函数中的某些内容对其进行过滤,但是在没有看到代码的情况下很难回答“什么”和“如何”,您可能最好通过询问一个与此相关的新问题,以及一些代码等。