0

我基本上必须通过表单加载上传一些数据,以便在页面上的 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" AND data-n-type=9, array = [xxx,lmn]

我不必将数据作为隐藏选择列表上传,如果您有更好的建议请告诉我。

4

1 回答 1

3

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

小提琴

于 2013-03-24T21:32:55.683 回答