用于jQuery的动态PHP变量

时间:2014-02-07 20:46:20

标签: php jquery variables

我想将jQuery应用于通过PHP / MySQL循环生成的动态类。

我在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>

那么,为什么?好吧,虽然数据是可变的,并且“items”存在于一列中,而“items”存在于另一个div的其他列中,但我需要通过jQuery识别相关的div以使它们具有相同的高度(使用equalizeCols - 请参阅小提琴;你会明白的。)

n.b。尽管有明显的列/行关系,但这不是表格的原因。我认为(烦恼)并尝试了它,但它不适用于实际项目的需要。

提前感谢您提供的任何帮助。经过多年的学习,这是我关于SO的第一个问题 - 这个社区非常棒。我在这里发现了一些问题,这些问题可能会让我看起来像副本一样,但是他们不能帮助我到那里来!

2 个答案:

答案 0 :(得分: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>

我想你可以在第一列中添加数据属性(或id),然后使用jQuery循环遍历这些属性:

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

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

答案 1 :(得分:0)

您可以按照与代码的HTML部分相同的方式循环类别:

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

如果我理解你的问题并发出问题,这就是解决方案。如果这不是您的问题,请更具体。