задача: нужно поменять стиль элемента в цикле перебора записей из базы данных при их выводе. вроде задача не сложная, но почему-то не видит в такой конструкции элемент jquery.
while ($row = mysql_fetch_assoc($result)) { // здесь все отлично!!!
........
$value = $row['value']; // принимает значения или 1 или 0 (целочисленные!) - здесь все также правильно
if ($value == 1) {
$str_value = $_SESSION['value1']; // $_SESSION['value1'] = "это единица"
?><script type="text/javascript">$(function(){ $('#block').css('color','#329a1c'); });</script><?
}
else {
$str_value = $_SESSION['value2']; // $_SESSION['value2'] = "это ноль"
?><script type="text/javascript">$(function(){ $('#block').css('color','#ff0000'); });</script><?
}
echo '<p id="block"><span style="font-weight:bold; font-size:12px;">'.$str_value.'</span></p>';
// echo '<p id="block" style="font-weight:bold; font-size:12px;">'.$str_value.'</p>'; - так тоже ничего не меняется
}
значение $str_value - меняет нормально и правильно, а вот цвет выводимого текста ($str_value) не видит. в первом цикле независимо от значения $value (0 или 1) окрашивает значение в #329a1c, а остальные черным цветом по умолчанию.
можно конечно поставить строку вывода в условие проверки, но хотелось бы на jquery.
подскажите, пожалуйста, в чем моя ошибка.
спасибо
Спустя 50 минут, 28 секунд (7.06.2011 - 13:02) skolozhabskiy написал(а):
может кто-то из профессионалов посоветует что-то?
спасибо
спасибо
Спустя 41 минута, 48 секунд (7.06.2011 - 13:44) Renden написал(а):
skolozhabskiy
Твоя ошибка думаю в том что id="block" неуникален, тут надо уникальное значение, тк когда у тебя цикл бежит он N количество раз перезаписывает стиль в 1 и тот-же див, и в итоге выводит последний.
PS проще былоб сделать так т.е:
Твоя ошибка думаю в том что id="block" неуникален, тут надо уникальное значение, тк когда у тебя цикл бежит он N количество раз перезаписывает стиль в 1 и тот-же див, и в итоге выводит последний.
<script type="text/javascript">$(function(){ $('#block<?php echo $row['id'];?>').css('color','#ff0000'); });</script>
echo '<p id="block'.$row['id'].'">...';
PS проще былоб сделать так т.е:
if ($value == 1) {
$str_value = $_SESSION['value1']; // $_SESSION['value1'] = "это единица"
$style = "color:#329a1c;";
}
else {
$str_value = $_SESSION['value2']; // $_SESSION['value2'] = "это ноль"
$style = "color:#ff0000;";
}
echo '<p id="block" style="'.$style.'"><span style="font-weight:bold; font-size:12px;">'.$str_value.'</span></p>';
Спустя 6 минут, 8 секунд (7.06.2011 - 13:50) skolozhabskiy написал(а):
не совсем так это просто пример, посмотрите я изменил код, протсо думал, что это не существенно, а идентификатор уникален
пожалуйста не придирайтесь только к точкеам и прочей чепухе не в этом дело, главное структура такая
спасибо
спасибо
while ($row = mysql_fetch_assoc($result)) { // здесь все отлично!!!
........
$value = $row['value']; // принимает значения или 1 или 0 (целочисленные!) - здесь все также правильно
if ($value == 1) {
$str_value = $_SESSION['value1']; // $_SESSION['value1'] = "это единица"
?><script type="text/javascript">$(function(){ $('#block').css('color','#329a1c'); });</script><?
}
else {
$str_value = $_SESSION['value2']; // $_SESSION['value2'] = "это ноль"
?><script type="text/javascript">$(function(){ $('#block').css('color','#ff0000'); });</script><?
}
$out .= '<p id="block"><span style="font-weight:bold; font-size:12px;">'.$str_value.'</span></p>';
// $out .= '<p id="block" style="font-weight:bold; font-size:12px;">'.$str_value.'</p>'; - так тоже ничего не меняется
}
echo $out;
пожалуйста не придирайтесь только к точкеам и прочей чепухе не в этом дело, главное структура такая
спасибо
спасибо
Спустя 5 минут, 34 секунды (7.06.2011 - 13:55) Renden написал(а):
skolozhabskiy
и что изменилось?, я невижу.. да и зачем тебе сдесь jquery?
и что изменилось?, я невижу.. да и зачем тебе сдесь jquery?
Спустя (7.06.2011 - 13:55) skolozhabskiy написал(а):
да так
спасибо
$style = "color:#ff0000;";работает, спасибо, но хотелось бы понять почему с jquery такое не получается
спасибо
Спустя 1 минута, 13 секунд (7.06.2011 - 13:57) Renden написал(а):
skolozhabskiy
Я же тебе обьяснил в 1 примере... тебе надо добавить в js уникальное id для дива (<p>)..
Я же тебе обьяснил в 1 примере... тебе надо добавить в js уникальное id для дива (<p>)..
Спустя 17 минут, 31 секунда (7.06.2011 - 14:14) skolozhabskiy написал(а):
Renden - спасибо за помощь, вы профессионал с большой буквы!!! все проблема в уникальности идентификатора, мелочь, но злостная оказалась.