2012-10-12 8 views
7

私は、現在のHTMLを持っている:正規表現 - jQueryの

<input id="dynamic1" /* other */ data-group-animal="y1,y2" /> 
<input id="dynamic2" /* other */ data-group-vegetable="y3,y4" /> 

は、これらは、Ajaxを介してデータを送信するときに一緒に、または使用しないことができる独立のdivです。

さて、私は1つのオプションは、両方のフィールドを使用することであり、私はいくつかのフォームのオプションに基づいて、両方のためのdata-valueを取得する必要があります。その後、私は私が必要と実感、

$('input').data('group*')をしかし、それは動作しません:私がやりたい

- データ属性が異なる(私は別に、すべてのグループまたは送信またはできません別の目的のために使用される)であります正規表現。

私は使用できるデータ属性の正規表現はありますか?

+0

あなたはしようとしている。おそらく、単一のデータ属性を使用し、構造内にjsonを格納する方が良いでしょう。 –

+0

@KevinB :(悲しい、その値に1つあります。例:??=「植物、動物、」データ・グループ多分私はこの代わりに –

+0

を行うには私のコードを変更することができますはい、しかし、.dataのは()だけのリターンをすることができます単一の要素のデータであれば、入力をループしてデータ値を処理する必要があります。 –

答えて

22

属性を変更した場合は、セレクタを使用できます。

http://jsfiddle.net/kvJVM/1/

だから、あなたが代わりにそのためのdata-group-typeとクエリを持つことができます:

<input id="dynamic1" data-group-type="animal" data-group="y1,y2" /> 
<input id="dynamic2" data-group-type="vegetable" data-group="y3,y4" />​ 

いくつかの例では、

$('input[data-group]') // all 

$('input[data-group-type^="animal"]') // starts with 'animal' 
$('input[data-group-type*="l"]') // contains 'l' 
$('input[data-group-type!="animal"]') // not 'animal' 

を照会他のセレクタがあります。http://api.jquery.com/category/selectors/

+0

よう、ありがとう –