2011-07-04 47 views
1

我有一個像這樣的PHP循環<?php foreach ($products as $product) { ?>現在在這個循環內我將創建一些div。創建的div的數量取決於產品數量。此外,我有一個JavaScript功能,創建一個倒計時。jQuery Selector和PHP循環

現在我試圖在創建的每個div中創建一個獨特的倒計時。每個產品都有獨特的倒計時。這裏是產生coundown

$(function(){$('.counter').countdown({startTime:"<?php echo $product['time']; ?>" });}); 

的代碼,這是我的PHP循環創建的div

<div class= 'counter' ></div> 

現在這是什麼讓我在所有的div相同的櫃檯裏面。我對這一切都很陌生,我幾個小時都沒有睡過,試圖學習並弄清楚我做錯了什麼。

編輯:

所以我還沒有得到我想要的東西。 ()。$('。counter')。each(function(){$(this).countdown(....
爲所有div生成相同的計數器,並且出於某種原因,當我嘗試使用時出現語法錯誤 $( '#產品 - ')。倒計時(... ,以創造獨特的選擇

回答

1

這將無法正常工作的選擇.counter會找到全部元素與類名稱計數器

假設每個產品的時間都不一樣,並且每個產品都有唯一的標識符,您可以通過給每個div元素分配一個唯一的ID來解決這個問題,並將其用作觸發倒計時過程的手段:

<div id="product-<?php echo $product['id']; ?>" class="counter"></div> 

和JavaScript代碼:

$('#product-<?php echo $product['id']; ?>').countdown({startTime: '...'}); 

我建議,雖然,你不必產生這樣的javascript代碼的設計模式。

+0

你是什麼意思設計模式?順便說一句,你是對的。 – Aresn

+0

我正試圖按照你的建議。但$('#product - <?php echo $ product ['product_id'];?>')給我一個錯誤。 – Aresn

+0

我知道你的源代碼太少,無法確定哪裏出了問題。語法錯誤意味着您的_Javascript_代碼中存在語法錯誤。確保徹底檢查生成的jQuery。 – Leonard

0

你需要的是每一個()

$('.counter').each(function() { $(this).countdown({startTime:"" }); });