我正在尝试从sql数据库中单击不同的消息时获取id

时间:2014-11-07 07:21:44

标签: javascript php

我点击不同的消息时尝试获取ID。

这是我的javascript:

 $(document).ready(function() {
      $('#message-subject-result').click(function(){
      var message = document.getElementById('message_id').value;
      alert(message);

      });
 });

我从一个php函数中提取它:

 <div id="message-subject-result">
 <div id="message-date">'.$date.'</div>
 <input type="hidden" id="message_id" value="'.$row['mes_id'].'"><div id="message-sender-name">FROM: '.$row['firstname'].' '.$row['lastname'].'</div>
 <div id="message-subject">SUBJECT: '.$row['subject'].'</div>
 <div id="message-preview">'.$row['message'].'</div>
 </div>

javascript可以工作,但只有当我点击第一个回显结果时才有效。我做错了什么?

2 个答案:

答案 0 :(得分:4)

使用类名替换重复的ID并使用find方法:

$('.message-subject-result').click(function() {
    var messageId = $(this).find('.message_id').val();
    alert(messageId);
});

有效的HTML应该是:

<div class="message-subject-result">
    <div clas="message-date">'.$date.'</div>
    <input type="hidden" class="message_id" value="'.$row['mes_id'].'">
    <div class="message-sender-name">FROM: '.$row['firstname'].' '.$row['lastname'].'</div>
    <div class="message-subject">SUBJECT: '.$row['subject'].'</div>
    <div class="message-preview">'.$row['message'].'</div>
</div>

答案 1 :(得分:0)

您必须拥有所有唯一ID。这样的东西会给你独特的身份:

<?php
$i = 0;
foreach($result as $row) { ?>
<div id="message-subject-result">
 <div id="message-date">'.$date.'</div>
 <input type="hidden" id="message_id<?php echo $i; ?>" value="'.$row['mes_id'].'"><div id="message-sender-name">FROM: '.$row['firstname'].' '.$row['lastname'].'</div>
 <div id="message-subject">SUBJECT: '.$row['subject'].'</div>
 <div id="message-preview">'.$row['message'].'</div>
 </div>

<?php $i++;
 } ?>