将PHP代码放入我的jquery脚本中

时间:2012-03-25 16:12:44

标签: php jquery-isotope

我正在使用jQuery同位素。我在点击它显示textarea以进行评论后发现了如何重新布局。

但是当我点击评论按钮时,我的问题在于jQuery,它会打开页面上的所有评论框而不是单个评论。

我想知道是否可以将我的COMMENT_ID放在脚本中,以便它只打开一个盒子而不是所有盒子。

我的代码:(不起作用)

$('.commentopen').click(function() {
  $('.comment '<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown(1000, function() {
    $('#container').isotope('reLayout');
  });
});

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

在渲染HTML时,如果您为每个注释指定一个href属性,那么您可以使用jquery attr()函数来获取该引用并仅显示该注释。

例如:

$('.comment').click(function() {
    var id = $(this).attr('href');
    $('.comment#' + id).slideDown(1000, function() {
         $('#container').isotope('reLayout');
    });
});

我稍微更改了您的代码,以便将所有注释视为.comment类元素。

每条评论都有一个唯一的ID,因此正确的评论可以打开所有评论。

这是一个有效的解决方案:http://jsfiddle.net/HDBwY/

希望它有所帮助。

答案 1 :(得分:0)

你的语法很糟糕。请考虑以下代码段:

$('.comment '<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown

当您替换PHP时,它变为:

$('.comment 'x').slideDown

那里有一个额外的单引号。也许它应该是一磅呢?

$('.comment #<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown

答案 2 :(得分:-1)

$('.commentopen').click(function() {
    var id = $(this).attr('id');
    $('.comment' + id).slideDown(180, function() {
         $('#container').isotope('reLayout');
    });
});
继续我最终做的事情(仍然没有工作)我给每个文本区域(.comment)一个id,然后我给了注释链接打开textarea(.commentopen)完全相同的id,然后使用这个函数,我获得了与我用于评论相同的id。并且在html中,它们似乎匹配行。但它仍然似乎工作。