2011-07-04 8 views
1

私は今このループの中に<?php foreach ($products as $product) { ?>のようなPHPループを持っていますが、私はdivをいくつか作成しています。作成されるdivの数は製品数によって異なります。また、私はカウントダウンを作成するjavascript関数があります。jQueryセレクタとPHPループ

ここでは、作成されるすべてのdivで一意のカウントダウンを作成しようとしています。すべての製品に固有のカウントダウン。ここcoundown

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

、これは私がdiv要素

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

を作成するPHPのループ内に持っているものであるが生成するコードは今、これは私を与えるもの、すべてのdivで同じカウンタです。私はこのすべてに慣れていないので、何時間も寝ていないので、勉強しようとしていて、何が間違っているのか理解していません。

編集:

私はまだ私が欲しいものを得ていません。 $( '。counter')。each(function(){$(this).countdown(....
)すべてのdivに対して同じカウンタを生成します。何らかの理由で使用しようとすると構文エラーが発生します。 $( '#製品 - ')。。何が必要各()

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

答えて

1

これは、セレクタとして動作しませんを独自のセレクタを作成するために、カウントダウン(...

+0

パターンをデザインすることは何を意味していますか?あなたは正しい道でした。 – Aresn

+0

私はあなたの提案に従っています。しかし、$( '#product - <?php echo $ product [' product_id '];?>')はエラーです。 – Aresn

+0

何が間違っているかを判断するには、ソースコードがあまりにも少ないと私は知っています。構文エラーは、_Javascript_コードのどこかに構文エラーがあることを意味します。生成されたjQueryを徹底的に調べてください。 – Leonard

0

です.counterすべてのクラス名を持つ要素。その時を想定し

製品毎異なり、あなたはすべての製品の一意の識別子を持っていることを、あなた、すべてのdiv要素に一意のIDを割り当てることによってこの問題を解決し、カウントダウンプロセスをトリガするための手段としてこれを使用することができます:

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

とJavaScriptコード:

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

私はあなたがこのようなJavaScriptコードを生成する必要はありませんどこかのデザインパターンをお勧めしたいです。