2011-12-17 76 views
1

我有以下幾點:警報使用jQuery多臺

$columns = array('aaa','bbb','ccc','ddd'); 
$num_cols = count(columns); 
echo "<table>"; 
echo "<tr>"; 
foreach($columns as $col) 
{ 
    echo "<td>$col</td>"; 
} 
echo "</tr>"; 

for($i=1;$i<4;$i++) 
{ 
    echo "<tr>"; 
    for($j=0;$j<$num_cols;$j++) 
    { 
     echo "<td class='click' from=???>$i</td>"; 
    } 
    echo "</tr>"; 
} 

echo "</table>"; 
對我來說這產生

aaa | bbb | ccc | ddd 
1 | 1 | 1 | 1 
2 | 2 | 2 | 2 
3 | 3 | 3 | 3 

我想加入此警報的jQuery - 如果我點擊例如2從aaa我已收到警報(2個來自a);

使用jQuery:

$(".click").click(function(){ 
    alert($(this).html + "from" + ???); 
}) 

這可能嗎?

+0

它應該是`$ NUM_COLS =計數($列);``在行2`。你缺少`$`符號。 – 2011-12-17 07:50:19

回答

1

首先注意的是html是一個函數。此外,on是添加事件的jQuery 1.7

的,我會把你的頭細胞<th>標籤的首選方式,然後執行:

$(document).on("click", "td", function() { 
    var index = $(this).parent().find(this).index(); 
    alert($(this).html() + "from" + $("table th").eq(index).html()); 
}); 

這裏有一個fiddle


或者,如果你不想把你的第一排標籤放在<th>標籤中,這也可以工作:

$(document).on (「click」,「td」,function()var index = $(this).parent()。find(this).index(); alert($(this).html()+「from」+ $(「table tr:first td」)。eq(index).html()); });

更新fiddle

0

你更好的使用這個使用jQuery live

$(".click").live("click", function(){ 
    alert($(this).html + "from" + ???); 
}) 
+2

live id depricated bro :)從jQuery 1.7開始,.live()方法已被棄用。使用.on()附加事件處理程序。 – hungneox 2011-12-17 07:04:55