2012-02-10 15 views
2

を選択しなさい私の問題は、私のテーブル(MainContent_tb)は静的ではないということです行IDを選択し取得する私はjqueryの下に使用しています行ID

は、私は、任意の提案や発言を希望、変数としてこれを渡す必要があります感謝する。

var tableId = 'MainContent_tbl'; 
$('#' + tableId + ' tr').click(function(event) { 
    alert(this.id); 
} 

のようなものが動作するはず

+0

ので、テーブル*内容*変数、またはテーブルの*番号*動的な要素がありますか? –

+0

私は動的に行を追加/削除することを理解しています。次に、行を追加するときに、イベントハンドラーをそれらの新しい行と関連付ける必要があります。私は 'jQuery.live'を使うことをお勧めしますが、そうではありません。それを使用しないでください。これは推奨されていません。 – Oybek

+0

@SurrealDreamsそれは良い質問です - 私はIDが私の答えの動的部分であると仮定しましたが、それは正しくない可能性があります。 –

答えて

1
$(document).ready(function() { 
    $('#MainContent_tbl tr').click(function (event) { 
     var elID = $(this).attr('id'); 
     alert(elID); 
    }); 
    }); 

を試してみてください!

+0

それは魅力のように動作し、多くのJannisが本当にあなたの知識を感謝してくれてありがとう – ChandaMAMA

0

。セレクタ文字列は、ハードコードされているのではなく、変数を使用して構築されます。

0

これはあなたが探しているものである。この

$('#'+table_id_as_variablle+' tr').click(function (event) { 
     alert(this.id); //trying to alert id of the clicked row   
    }); 
0

delegateを使用し、ハンドラを添付文書のセレクタ付きtrに添付することができます。この方法では、クリックハンドラが1つだけ接続され、テーブルIDについて気にする必要もありません。どのテーブルでも動作します。これを試して。

 $(document).ready(function() { 
      $(document).delegate('tr', 'click', function (event) { 
       alert(this.id); //trying to alert id of the clicked row   
      }); 
     }); 

参考:.delegate()

関連する問題