私は動的フォームとajaxでフェッチされたテーブルを含むページを持っています。どのフォーム提出ボタンが押されたかに応じて各テーブルをターゲットにしようとしていますが、何らかの理由でjqueryがテーブルの一意のIDを認識していないようです。私はjqueryが最初のテーブルのIDだけをフェッチしていると思うが、私はなぜ理解できないのだろう?私はしかし、ページ上のhtmlを検査キーを押し、すべての送信ボタン上Jqueryが一意のIDを認識しないのはなぜですか?
console.log(tableid)
プリントmyTable1
myTable
のすべてのidのは、そうでユニーク例えばmyTable1,myTable2,myTable3
です.....とことを私に示しています。あなたはvar tableid = $('.table').attr('id');
を行うので、これがないです
(フォームとテーブルがレンダリングされている別のページ上の)動的なフォームとテーブル
<form id="myForm" class="myForm" action="" method="post" style="">
<input type="hidden" name="page_id" value="'.$id.'">
<button type="submit" class="fabutton"></i></button>
</form> <!--END OF FORM---->
<table id="myTable'.$i.'" class="table"><!--$i increments by 1 with each form---->
<tbody>
<tr>
</tr>
</tbody>
</table>
jqueryの
$(document).on('submit', '.myForm', '.results', function(e) {
var tableid = $('.table').attr('id'); //Get table id
console.log(tableid)
次のように、コンテキストを使用してみてくださいあなたのダイナミックなコードではなくHTML **をレンダリングします。 –
また、あなたのフォームにはテーブルが含まれていないので、どのテーブルを見るべきかはどのように分かりますか?あなたのjQueryは「最初のテーブルを見つけてIDを取得する」と言っています。そして、それは..どのテーブルを入手すべきですか? –
$( '。table')は要素の配列を返すので、idを取得しようとするときは、最初の要素id – Geeky