2014-02-07 23 views
0

我想將jQuery應用於通過PHP/MySQL循環動態生成的類。用於jQuery的動態PHP變量使用

我已經有了的jsfiddle非動態的工作版本:jsfiddle.net/TXJA5/1/

在這個例子中,cat_fruitcat_vegetablecat_cereal將一個PHP循環中迴盪;是這樣的:

<div class="category cat_<?php echo $category; ?>"> 
    <p><?php echo $category_label; ?></p> 
</div> 

然後,在以下幾列,將有包含相關的類別項目的div:

<div class="column"> 
    <div class="item cat_<?php echo $category; ?>"> 
     <p><?php echo $item[0]; ?></p> 
     <p><?php echo $item[0]; ?></p> 
    </div> 
</div> 

那麼,爲什麼?那麼,雖然數據是可變的,並且「類別」存在於一列中,而「項目」存在於另一個div中的其他列中,但我需要通過jQuery來標識關聯的div以使其高度相同(使用equalizeCols —請參閱小提琴;你會得到它的。)

nb儘管存在明顯的列/行關係,但這不是一張表。我仔細考慮過(嘗試過),但它不適合實際項目的需求。

在此先感謝您提供的任何幫助。這是我的第一個問題,經過多年的學習—這個社區是真棒。我在這裏發現了幾個問題,可能會使我看起來像重複,但他們無法幫助我到達那裏!

回答

0

您可以循環類別你的代碼的HTML部分做同樣的方式:

<?php for(...){ ?> 
    var $els = $(".cat_<?php echo $category?>").equalizeCols(); 
<?php } ?> 

如果我理解你的問題,併發出OK這是解決方案。如果這不是你的問題,請更具體。

2
<div class="column"> 
    <div class="category" data-cat="<?php echo $category; ?>"> 
     <p><?php echo $item[0]; ?></p> 
     <p><?php echo $item[0]; ?></p> 
    </div> 
</div> 

我想你可以在第一列通過這些用jQuery添加數據屬性附加傷害(或ID),然後循環:

$('.category').each(function(){ 
    var category = $(this).attr('data-cat'); 
    $(".cat_"+category).equalizeCols(); 
}); 

http://jsfiddle.net/TXJA5/2/