2013-12-13 146 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>"; 

內彈出窗口我沒有得到任何值。它說「未定義」。如果有人能證明我做錯了什麼,我會非常感激。

+0

首先烏爾TD是這樣的回聲 「」。 $ row ['id']。 「」;第二個用$(「。abc」)替換$(「td.abc」)。click(function()「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標記是無效的,因爲input元素不能是TR的子元素。

+0

謝謝你的建議。它的工作... – user3003900

0

上表列

$("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的onclick設置,不插入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