0

PHPを使用して、DBからの結果を表示します。

while ($row = $stmt->fetch()) {
print "
   <tr id = '".$row[0]."' class = 'fila'>
         <td><input type='checkbox' name='checkboxx[]' value = '".$row[0]."'</td>
         <td>".$row[1]."</td>   
         <td>".$row[3]."</td>
         <td>".$row[4]."</td>
    </tr>
";
}

jQueryでは、クリックされた場合に各行のID(TR)を表示したいと思います。

私はこのコードを持っています。

$(document).ready(function(){
    $(".fila").click(function(){
       var id = $('.fila').attr('id');
        alert(id);
    });
});

問題:異なる行をクリックすると常に同じIDが表示されますが、実際にはソースコードを見ると、各TRにはIDがあり、DBから選択されているため異なります。

4

2 に答える 2

1
   var id = $('.fila').attr('id');

する必要があります

   var id = $(this).attr('id');

そうしないと、正しい行を操作できません。アタッチ先の行ではなく、すべて$('.fila')の行を選択します。click

を使用する$(this)と、それ自体のIDが警告されます。この場合、それ自体がクリックしたばかりの正しい行です。

于 2013-02-16T01:20:41.330 に答える
1

これに変更してください...

$(document).ready(function(){
    $(".fila").click(function(){
       var id = $(this).attr('id');
       alert(id);
    });
});

$(this)クリックイベントハンドラー内でクリックされた要素です。

または、これを使用することもできます...

$(document).ready(function(){
    $(".fila").click(function(){
       var id = this.id;
       alert(id);
    });
});

クリックされた要素のIDを取得するためにjQueryに依存しません。どちらも同じ結果を達成しますが、2番目の方が「わずかに」効率的です。

于 2013-02-16T01:20:45.730 に答える