Требуется помощь по объединению PHP и Javascript

  • Автор темы Автор темы shokk99
  • Дата начала Дата начала

shokk99

Новичок
Всем доброго времени суток!
Опишу суть проблемы:

Вот кусок кода-
// Скрипт для работы с jquerry
<script>
$(document).ready( function() {
$('.<?php $moreinfo_id ?>').hide();
$('font.tutclick').click( function() {
$(".<?php $moreinfo_id ?>").slideToggle( 'slow' );
});
return false;
});
</script>
PHP:
// Далее SQL запрос в базу и дальнейшая обработка

$q="SELECT * FROM table_name WHERE a = 1 ORDER BY id DESC";
$res=mysql_query($q);

while($row=mysql_fetch_array($res)) {
// Присваеваем значение переменной
$moreinfo_id=$row['id'];
// В начале распечатываем текст по которому будем кликать
echo "<font class='tutclick' size='3' color='orange'>Показать дополнительную информацию</font>" ;

// Теперь div элемент с этой самой доп. информацией
echo 
"<div class=' " . $moreinfo_id . " '>" .
// здесь HTML таблица с неким содержимым которая заполняется данными из MySQL таблицы
"<TABLE BORDER='0'>...........</TABLE>";
// и закрываем div
echo "</div>";
}
И ничего не работает, я уже как только не пробовал! Если class для div элемента прописать в виде текста, например <div class='moreinfo'> и ввести соответствующие карриктировки в Javascript, то конечно работает, только при клике открывает доп. информацию у всех записей сразу, а не у той по которой я кликнул.
Помогите пожалуйста разобраться!
 
Мне надо чтобы по умолчанию DIV был скрыт, используя this я могу заставить его исчезнуть например по клику, но не появиться т.к. не по чему будет кликать (элемент то скрыт). В общем пока разобрался только как сделать так, чтобы пропадали по одной ссылки "показать дополнительную информацию". Похоже, что мою проблему this не решит или (что скорее всего) мне просто не хватает сообразительности!))
 
P.S.
А может как то так записать можно $(this).$('.moreinfo').slideToggle( 'slow' );?
 
Только все равно не пашет, блин уже часа 4 наверно сижу над какой то мелочью!((
 
ну чтото же должно оставаться, чтобы можно было кликнуть и открыть снова? способов уйма, например $(this).click(function() { $(this).parent('div').children('div.my-super-content-block').slideToggle(); } ); или писать какой то общий атрибут типа того же <?php $moreinfo_id ?> ()кстати, если он у каждого элемента уникальный то логичнее объявлять его через id а не через class
 
HEm
Идея общего атрибута типа <?php $moreinfo_id ?> мне самая первая пришла в голову, только что сделал через id и все равно не работаеть...может синтаксис у меня хромает на обе ноги?
 
нене, именно атрибута, а не id
вариант с парентом и чилдреном не катит?

и кстати, верно сказал WMix, сначала отработай все на тестовом примере без пхп, с 2-3 записями
 
Блин пацаны, я конечно понимаю что с моей стороны это будет верхом человеческой наглости, но не мог бы кто- нибудь написать свой вариант на основе моего кода? А то я похоже полный нуб!!! Ткните носом что ли!
 
я может и помог бы тебе, но я нифига не понимаю, мне нужно проще или или... я не вижу твоего полного кода, у меня нет ничего... я даже не понимаю что ты знаешь а что нет... сорри...
начни с простого хтмл и яваскрипт, а уже когда все сделаешь, мешей его с пхп
 
Уже где то близко, только всеравно не работает еще!))
<script>
$(document).ready( function() {
$('.moreinfo').hide();
$(this).$('.tutclick').click(function() {
$(this).parent('.tutclick').children('.tutclick.moreinfo').slideToggle('slow');
} );
});
</script>
Будет ли элемент <font class='tutclick'> родителем для moreinfo кто знает?
 
что ты всякую хрень пишешь?

где хтмл?
нет такого $(this).$('.tutclick').click(function() {

помоги найти грамматическую ошибку
вырплдврап длврадлпр фвашгпнфв гшанпфварпдлофвар лдфвн пашгд
 
все, уже не актуально, почитал документацию и сам разобрался) Спасибо за советы всем!
P.S.
Первый опыт работы с jquery+ в javascript не силен ни фига!)
 
  • Like
Реакции: craz
Сверху