0

値を取得したいテーブルがあります。ユーザーがセル内のアイコンをクリックすると、セルから直接テキストが必要になります。このコードを使用してテーブルを作成しています。

php

$project_info = $db->prepare("
    SELECT  projects.id,
        projects.project_name,                  
        projects.pm,    
        // ...more columns   
    FROM projects
    WHERE account_id = ?                        
"); 

$project_info->bindValue(1, $aid, PDO::PARAM_STR);
$project_info->execute();       

echo "<table class='projects_contentTable'>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "Job #" . "</th>";
// ...more headers   

while ($row = $project_info->fetch(PDO::FETCH_ASSOC)) {             
    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='#'>" . $row['id'] . "</a>" . "</td>";
    // ...more td's
    echo "</tr>";               
}
echo "</table>";

セルから値を取得するこのコード

jquery

$('body').on('click', '.view_project_record', function() {
    pid = $(this).next('td').text();
    alert(pid);
    loadProject();
});

アラートが発生すると、「td」に値がないかのように、空のボックスが送信されます。

これは、コメントの結果で私が試した他のものです

pid = $(this).next('.content_td').text(); // no value
pid = $(this).next('.projects_contentTable td a').text();// no value
pid = $(this).next('a').text(); // no value    
pid = $('.projects_contentTable .content_td:eq(3) a').text(); // no value
pid = $('.projects_contentTable td:nth-child(3) a').text(); // all the values from the column... I just want the one from this row

ご覧のとおり、どうやらこれがどのように機能するのかわかりません。私の望みは、クリックしたアイコンが入っている正確な行の Job# の値を取得することです。それ以上でもそれ以下でもありません。投稿を送信するにはこの値が必要で、気がAJAX狂いそうです。この値を取得するには、少なくとも 5 つの方法があることを知っています。より良い方法を考え出すことができます。これがどのように機能するかを理解したいだけです。あなたの助けに感謝します

4

2 に答える 2

1

を呼び出す前に、img の親 (td) をターゲットにする必要がありますnext()$(this).parent().next('td').text();

于 2013-08-02T23:03:37.600 に答える
0

.children()代わりに使う.next()

于 2013-08-02T23:02:57.700 に答える