3

テーブル:

<table id='t1' style='border:1px solid #000000'>
    <tr>
      <td><span id='flight_1'>1</span></td><td>1</td>
    </tr>   

    <tr>
      <td><span id='flight_2'>2</span></td><td>2</td>
    </tr>  

    <tr>
      <td><span id='flight_99'>99</span></td><td>99</td>
    </tr> 
</table>

各「flight_xx」ID を検索し、「flight_xx」ID に属する行の後に新しい行を作成したいと考えています。

これはjQueryを使用して可能ですか?

テーブルは DisplayTag ライブラリを使用して作成されていますが、その方法がわかりません。

4

5 に答える 5

3

試す:

$('span[id^="flight"]').closest('tr').after('<tr>This is a new tr</tr>');

これにより、で始まるIDを持つスパンを含む行の後に新しい行が追加されますflight

于 2010-08-27T10:47:30.433 に答える
2

標準のjQueryは次のようになります。

var search  = 99,
    new_row = '<tr><td></td></tr>';

$('#flight_' + search).closest('tr').after(new_row);
于 2010-08-27T10:48:01.967 に答える
2

あなたはこのようにそれを行うことができます:

$("#flight_" + flightNumber).closest('tr')
                            .after('<tr><td><New Cell!</td><td></td></tr>');

これは、flgiht番号を取得し、それをflight_xxIDに変換し、その要素を見つけて、その要素に到達します<tr>(を介して.closest()、その要素に新しい行を挿入し.after()ます。

の代わりに行にIDを追加するオプションがある場合は、<span>それを実行して、呼び出しを削除し.closest()ます。

于 2010-08-27T10:49:50.667 に答える
1

カスタム デコレータを使用してこれを実行し、finishRow メソッドをオーバーライドできます。このコードは、displayTag テーブルの各行の後に行を追加します。

    public  String finishRow()
                         {
                     String  returnString=null; 
                     ActorData rowItem = (ActorData) getCurrentRowObject();
                     if (rowItem.getAnyProperty()!=null )
                        {
                     returnString = "<tr><td>some text here</td><td colspan='2s'>avi</td>"
                    + "</tr>";
                         }
                     return returnString;
                         }
于 2012-01-06T07:35:16.433 に答える
1

これは、カスタム Decorator を使用して実行できるはずです。を使用startRow()すると、選択した行の前に何かを追加できます。何かのようなもの:

    public String startRow() {
    ...

    Item rowItem = (Item) getCurrentRowObject();

    if (rowItem has some value) {
        returnString = "<tr><td>some text here</td></tr>";
    }

    ...

    return returnString;

お役に立てれば

于 2011-10-13T15:10:13.977 に答える