0

リンクをクリックしたときに子クラス/ divを開く必要があります:

私は持っている:

echo '<td><a class="openhiddenmessage" href="#">'.$title.'</a></td>'; //If user clicks here
echo '<div class="hiddenmessage" style="display:none">'.$message.'</div>';  //This shows up

問題は、たくさんあるので、どれがそれぞれに属しているかを知る必要があることです。

JQuery は次のとおりです。

$('.openhiddenmessage').click(function(){
   $('.hiddenmessage').show();
});

otの子を開くにはどうすればよいですか?

更新:何らかの理由で、与えられた答えのどれも機能していないので、ここにすべての部分があります:

echo '<tr>';
echo '<td><a class="openhiddenmessage" href="#">'.$title.'</a></td>';
echo '<td>'.$date.'</td>';
echo '<td><a id="deletemessage" href="delete.php?id='.$id.'" class="delete">Delete</a></td>';
echo '<div class="hiddenmessage" style="display:none">'.$message.'</div>';  
echo '</tr>';
4

4 に答える 4

1

div内部に無効な aがあるようですtr。div を td 内に配置する必要があります。

ただし、現在の形式でこれを行うことができます

$('.openhiddenmessage').click(function(){
   $(this).closest('td').next('.hiddenmessage').show();
});
于 2013-07-10T15:19:27.620 に答える
1

divnext を入れてからa、メッセージを表示するためにtd使用できnext()ます。この方法では、追加classは必要ありませんdiv。例:

HTML

<td>
    <a class="openhiddenmessage" href="#">Title</a>
    <div style="display:none">Message</div>
</td>

またはあなたのPHPコード

echo '<td>' . 
        '<a class="openhiddenmessage" href="#">' . $title . '</a>' .
        '<div style="display:none">' . $message . '</div>' .
    '<td>';

JS

$('.openhiddenmessage').click(function(e){
    e.preventDefault();
    $(this).next().show();
});

jsフィドル

于 2013-07-10T15:39:21.177 に答える
1

試す...

$('.openhiddenmessage').click(function(e){
 e.preventDefault();
$(this).closest('div').show();
});

私は個人的にはIDでそれを行います....データベースから結果を取得している場合。

 echo '<td><a class="openhiddenmessage" data-id="'.$id.'" href="#">'.$title.'</a></td>'; //If user clicks here
 echo '<div class="hiddenmessage" id="msg-'.$id.'" style="display:none">'.$message.'</div>';

それで...

  $('.openhiddenmessage').click(function(e){
   e.preventDefault();
  $('#msg-'+$(this).data('id')).show();
});

そうすれば、メッセージがテーブルにあることに制限されません。それはどこにでもありえます。モーダルスタイルのポップアップも可能

于 2013-07-10T15:18:07.130 に答える