2013-12-13 2 views
0

я использовал эту функцию, чтобы всплывающее окно, когда пользователь нажал на строку таблицыПолучить содержимое строки в всплывающем окне

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("td.abc").click(function() { 
      var t = 'Ticket ID: ' + $(this).find('td:eq(0)').html()+'\n'+'\n'; 
      var r = 'Subject: ' + $(this).find('td:eq(1)').html()+'\n'+'\n'; 
      var e = 'Messege: ' + $(this).find('td:eq(2)').html()+'\n'+'\n'; 
      var f = 'Developer: ' + $(this).find('td:eq(3)').html()+'\n'+'\n'; 
      var w = 'Current Status: ' + $(this).find('td:eq(4)').html()+'\n'+'\n'; 
      var q = 'Uploaded Date & Time: ' + $(this).find('td:eq(5)').html()+'\n'+'\n'; 

      var o = $("#79").attr("name")+'\n'+'\n'; 
      alert(t+r+e+f+w+q+o); 

     }); 
    }); 
</script> 

моя таблица выглядит следующим образом

echo "<br> <table border='0' id='example' width='980' align='center'> 
<tr> 
    <th width='60'>Ticket ID</th> 
    <th width='150'>Subject</th> 
    <th width='670'>Messege</th> 
    <th width='60'>Developer</th> 
    <th width='70'>Status</th> 
    <th width='105'>Date - Time</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) { 
    //echo $row['jobSatus']; 
    echo "<tr>"; 
    echo "<td class=\"abc\" width='60'>" . $row['id'] . "</td>"; 
    echo "<td class=\"abc\" width='150'>" . $row['subject'] . "</td>"; 
    echo "<td class=\"abc\" width='670'>" . $row['msg'] . "</td>"; 
    echo "<td class=\"abc\" width='60'>" . $row['developer'] . "</td>"; 
    echo "<td class=\"abc\"width='60'>" . $row['jobstatus'] . "</td>"; 
    echo "<td class=\"abc\" width='105'>" . $row['date_time'] . "</td>"; 
    echo "<input class=\"abc\" type='hidden' name=".$row['image']." id=".$row['id'].">"; 
    echo "</tr>"; 
} 
echo "</table>"; 

Теперь внутри pop window Я не получаю никаких значений. Он говорит «неопределенный». Я был бы очень благодарен, если бы кто-то мог показать, что я сделал неправильно.

+0

Первый ур тд будет как то эхо "". $ row ['id']. ""; (Замените "$ (" td.abc "). Click (function()" с "$ (". Abc "). On ('click', function()" я надеюсь, что это сработает для вас –

+0

спасибо за ваш комментарий но если мы используем echo, не нужно ли нам использовать . Если это не ошибка – user3003900

+0

Нет, если вы можете просмотреть источник страницы, вы обнаружите, что html не является правильно написано. Хорошо, что работа для вас? –

ответ

1

пытается изменить это ...

var t = 'Ticket ID: ' + $(this).find('td:eq(0)').html()+'\n'+'\n'; 

к этому

var t = 'Ticket ID: ' +$(this).closest('td:eq(0)').attr('class'); 

Надеется, что это поможет ....

0

Вы, нажав на ячейке таблицы, а не таблицы строка

$("td.abc").click(function() { 
    ^^ 

Изменить его чтобы посмотреть за столом

$("#example").on("click", "tr", function() { 

или

$("#example").on("click", "tr:has(td.abc)", function() { 

И ваш HTML разметки является недействительным, поскольку входной элемент не может быть дочерним элементом тр.

+0

спасибо за совет yoour. Это сработало ... – user3003900

0

Набор OnClick на столе-рядной

$("tr.ticker-row").click(function(ev) { 
    var $this = $(ev.currentTarget); 
    var t = 'Ticket ID: ' + $this.find('td:eq(0)').html()+'\n'+'\n'; 
    var r = 'Subject: ' + $this.find('td:eq(1)').html()+'\n'+'\n'; 
    var e = 'Messege: ' + $this.find('td:eq(2)').html()+'\n'+'\n'; 
    var f = 'Developer: ' + $this.find('td:eq(3)').html()+'\n'+'\n'; 
    var w = 'Current Status: ' + $this.find('td:eq(4)').html()+'\n'+'\n'; 
    var q = 'Uploaded Date & Time: ' + $this.find('td:eq(5)').html()+'\n'+'\n'; 
    var o = $this.find('input').attr('name') + '\n'+'\n'; 
    alert(t+r+e+f+w+q+o); 
}); 

На PHP, не вставляйте какие-либо узел в tr кроме td

while($row = mysql_fetch_array($result)) { 
    //echo $row['jobSatus']; 
    echo "<tr class=\"ticket-row\" data-row-index=\"".$row['id']."\">"; 
    echo "<td class=\"abc\" width='60'>" . $row['id'] . "<input class=\"abc\" type='hidden' name=".$row['image']." ></td>"; 
    echo "<td class=\"abc\" width='150'>" . $row['subject'] . "</td>"; 
    echo "<td class=\"abc\" width='670'>" . $row['msg'] . "</td>"; 
    echo "<td class=\"abc\" width='60'>" . $row['developer'] . "</td>"; 
    echo "<td class=\"abc\"width='60'>" . $row['jobstatus'] . "</td>"; 
    echo "<td class=\"abc\" width='105'>" . $row['date_time'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 
+0

thx Sery. мой один – user3003900

+0

@ user3003900, как дела?) – Sergey

Смежные вопросы