2010-11-02 83 views
1

這應該是非常簡單的,但我在做什麼是從一個MySQL數據庫中的數據庫中拉到一個表中,我想要做的是當我點擊一個單元格在ID列中,因爲它變成白色。我可以得到這個工作,但一旦它做了一個它不做另一個!?jQuery點擊從MySQL數據庫在PHP中的行不工作

$('#addtocart').click(function(){ 
       $('#addtocart').css("color","white"); 
       return false; 
}); 

在我的PHP我這樣做:

while($row = mysql_fetch_array($result)) 
        {  
         echo "<tr>"; 
         echo "<td id='addtocart'>" . $row['id'] . "</td>"; 
         echo "<td>" . $row['om_part_no'] . "</td>"; 
         echo "<td>" . $row['supplier_part_no'] . "</td>"; 
         echo "<td>" . $row['category'] . "</td>"; 
         echo "<td>" . $row['description'] . "</td>"; 
         echo "<td>" . $row['manufacturer'] . "</td>"; 
         echo "<td>" . $row['list_price'] . "</td>"; 
         echo "<td>" . $row['discount'] . "</td>"; 
         echo "<td>" . $row['price_each_nett'] . "</td>"; 
         echo "</tr>"; 
        } 
       echo "</tbody> 
       </table>"; 

如果這是造成我這許多問題!?

回答

1

你正在做的只是爲id =「addtocart」的元素。

我會改變它,讓每一個class =「addtocart」onclick的元素都會變成白色。

$('.addtocart').click(function(){
$(this).css("color","white");
return false;
});

並使用echo "td class='addtocart'" . $row['id'] . ""; onstead ID的。你不應該有多個具有相同ID的元素。

P.S.如何在我的代碼中添加選項卡?

+0

所以會改變任何PHP代碼?如果我在Firefox中檢查元素,id列中的每個單元格都有一個「addtocart」標識...但是沒有運氣! – benhowdle89 2010-11-02 11:47:20

+0

只要讓它class =「addtocart」不是id =「addtoclass」。你不可能有很多具有相同ID的元素。該ID對文檔是唯一的。 – 2010-11-02 11:50:34

0

也許有些錯誤:
1)你的開放標籤<table>在哪裏?
2)是否包含在html中的jQuery腳本?
3)嘗試做下一件事。它可以是有幫助的:

$(document).ready(function(){ 
    $('#addtocart').click(function(){ 
     $('#addtocart').css("color","white"); 
     return false; 
    }); 
}); 

4)安裝Firebug附加Firefox的調試JS錯誤。
5)Id應該是一個唯一的值。但是你有超過1個具有相同ID的元素。嘗試生成唯一的ID。

+0

我很確定PHP是好的,我也使用jQuery插件「TableData」不確定這是干擾!?我已經完成了你放下的所有3件事... – benhowdle89 2010-11-02 11:49:24