2017-03-17 7 views
0

私はScala Play Framework、Twirl、jQueryを使用しています。jQueryを使用して同じIDを持つHTML要素の配列を収集するにはどうすればよいですか?

私がモデルであるどのくらいのデータに依存した行の動的なテーブルを持っている:

<table> 
    @for(i <- someDataModel){ //play form containing several fields 
    <tr id="dataRow">@i.name</tr> //display the name field string 
    } 
</table> 

私は、これらの行のすべての値を収集し、処理するためには、アレイに追加したいですCSVエクスポートのためのjQueryで

私はjQueryのを使用してデータを収集しようとしてきました

$('#dataRow').filter(function() { 
    var array = []; 
    var getData = $('[id="' + this.id + '"]').text(); //get all rows 
    var i; 
    for (i = 0; i < x.length; ++i) { 
    alert(x[i]) //pop up on screen with each value found 
    array.push(x[i]) //add to the array 
    } 
}); 

そして、上記のコードは、すべての行の値を見つけるんが、一度にすべての文字列名を収集し、一緒に単一の文字列にそれらすべてをマージ各文字を繰り返し処理します。だから、ほとんどそこにありますが、私は値が全体である必要があります。

私の質問は、すべてのデータを別々に反復し、すべての行が同じIDを持つときに配列に追加する方法です。コメント欄で

var getData = $('[id="' + this.id + '"]').each(function(){ 
    var value = $(this).text(); 
    alert(value); 
    array.push(value) 
}); 

人々が正しい、あなたがクラスを使用する必要があります:あなたはこのような何かを

var getData = $('[id="' + this.id + '"]').text(); 

:どの程度の代わりにこれをやって

+3

これは起こりません。 idはドキュメント全体を通して_unique_でなければなりません。 '$("。dataRow ")'または '$(" [rel = 'dataRow'] ")' – Psi

+0

HTML要素のIDはページ内で一意でなければなりません。 – airos

+0

ありがとう、代わりにクラスを使用します。しかし、彼らが同じクラスを持っていても、どうすればすべての値を集めることができますか? – DarthBinks911

答えて

1

。 id属性を選択する代わりに.classNameを使用することもできますが、この場合はそれほど重要ではありません。あなたは本当に1つ以上の固有のIDを持っていることを本当に望んでいません。もしそうならば、それは間違っています。

関連する問題