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 に答える