-1

編集
誰もが完全に明確です。このテーブルは、データベースにクエリを実行してからクエリを実行し、while ループを実行してテーブルを膨張させた後に作成されます。AKAは、動的に、プログラム的に、その場で作成しますが、ラベルを付けたいと思います。このテーブルは html には存在せず、クエリの前のどこにも存在しません。ですから、そもそもこれを説明しなかったことは私に責任がありました。コメントでそれについて言及しましたが、もっと明確にする必要がありました。


クラスのある画像があります。クリックすると、Job# の下に値が表示されますが、何も起こりません。デモ用にフィドルを作成しましたが、フィドルは完全に機能します。何が起こっているのかわかりません。

ここにフィドルjsFiddleがあります。

ここに実際のコードがあります

php 生成テーブル

echo "<table class='projects_contentTable'>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "Job #" . "</th>";
echo "<tr>";
echo "<td class='content_td'>" . "<img src='images/edit.png' class='edit_project_record'/>" . "</td>";
echo "<td class='content_td'>" . "<img src='images/view.png' class='view_project_record'/>" . "</td>";    
echo "<td class='content_td'>" . "<a href='#'>" . "16" . "</a>" . "</td>";
echo "</tr>";               
echo "</table>";

jQuery

$('.view_project_record').click(function() {
    var project_id = $('.projects_contentTable td:nth-child(3) a').text();
    alert(project_id);
});

フィドルでは、段落タグを使用して画像をシミュレートしていることに気付きました。ばかげているかもしれませんが、それが理由かもしれないと思いました。念のため、コードをこれに変更してみました。

echo "<td class='content_td'>" . "<p class='edit_project_record'>" . "<img src='images/edit.png'/>" . "</p>" . "</td>";
echo "<td class='content_td'>" . "<p class='view_project_record'>" . "<img src='images/view.png'/>" . "</p>" . "</td>";

画像をクリックしてもまだ起動しません。関数からクリックされたときにイベントを発生させる別の関数があるので、クリック関数が写真で機能することを知っていますjQuery。なぜこれが機能しないのですか?知らないテーブルの画像に関するルールはありますか?

4

2 に答える 2

3

ドキュメント準備完了関数でイベント ハンドラーをラップします。

$(document).ready(function(){
    $('.view_project_record').click(function() {
        var project_id = $('.projects_contentTable td:nth-child(3) a').text();
        alert(project_id);
    });
});

コードを実行するようにフィドルを設定しているため、フィドルで機能しますonloadが、実際のコードにはドキュメント対応のラッパーがないように見えるため、クリックイベントをアタッチしようとしたときに要素が存在しない可能性があります。

于 2013-08-02T16:01:14.003 に答える