положить PHP-код внутри моего скрипта jquery - PullRequest
3 голосов
/ 25 марта 2012

Я использую изотоп jQuery. Я узнал, как сделать reLayout после того, как вы нажали, когда он отображает текстовую область для комментария.

Но моя проблема заключается в jQuery, когда вы нажимаете кнопку комментария, он открывает все поля комментариев на странице вместо одного комментария.

Мне было интересно, можно ли было вставить мой COMMENT_ID в сценарий, чтобы он открывал только одно поле вместо всех них.

мой код: (это не работает)

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

Любая помощь приветствуется.

Ответы [ 3 ]

1 голос
/ 25 марта 2012

При рендеринге вашего HTML, если вы даете каждому комментарию атрибут href, вы можете использовать функцию jquery attr(), чтобы получить эту ссылку и открыть только этот комментарий.

Например:

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

Я немного изменил ваш код, чтобы все комментарии обрабатывались как элементы класса .comment.

У каждого комментария также есть уникальный идентификатор, и, таким образом, раскрывается правильный из всех доступных комментариев.

Вот рабочее решение: http://jsfiddle.net/HDBwY/

Надеюсь, это поможет.

0 голосов
/ 27 марта 2012

Ваш синтаксис плохой. Рассмотрим этот фрагмент:

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

Когда вы подставляете PHP, он становится:

$('.comment 'x').slideDown

Там есть дополнительная одиночная кавычка. Возможно, это должен быть фунт вместо этого?

$('.comment #<php echo $LOGGER_ROW['COMMENT_ID'] ?>').slideDown
0 голосов
/ 26 марта 2012
$('.commentopen').click(function() {
    var id = $(this).attr('id');
    $('.comment' + id).slideDown(180, function() {
         $('#container').isotope('reLayout');
    });
});

вот что я в итоге делал (что все еще не работало) я дал каждой текстовой области (.comment) идентификатор, а затем я дал ссылку на комментарий, чтобы открыть текстовую область (.commentopen) точно таким же идентификатором,затем, используя функцию this, я получил тот же идентификатор, что и для комментариев.и в HTML, они, кажется, совпадают строки за строкой.но все еще кажется, что он работает.

...