Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с select, генерация select 
:(
    Опции темы
supercelt
Дата 19.12.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Код

$current_month=date("n");
$current_year=date("Y");
          
$array_m=array("1"=>"Январь", "2"=>"Февраль", "3"=>"Март", "4"=>"Апрель", "5"=>"Май", "6"=>"Июнь", "7"=>"Июль", "8"=>"Август", "9"=>"Сентябрь", "10"=>"Октябрь", "11"=>"Ноябрь", "12"=>"Декабрь");
$array_y=array("1"=>"2007", "2"=>"2008", "3"=>"2009", "4"=>"2010");

$scroll='<select name="month" class="tbox">';
                   foreach($array_m as $f=>$d)
                   {
                   ($f==$current_month) ? $select='selected' : $select='';
                   $scroll.= '<option value="'.$f.'" selected="'.$select.'">'.$d.'</option>';
                   }
                $scroll.= '</select>';
                $scroll.='<select name="year" class="tbox">';
                   foreach($array_y as $x=>$c)
                   {
                   ($c==$current_year) ? $select='selected' : $select='';
                   $scroll.= '<option value="'.$c.'" selected="'.$select.'">'.$c.'</option>';
                   }
                $scroll.='</select>';


Результат должен быть: два выпадающих списка с месяцами и годами и обязательно что бы селет стоял на текущих годе и месяце. Но вот как ни крути, в месяце стоит Декабрь(правильно), а в годах - 2010!!!
Помогите пожалуйста разобраться
PM   Вверх
Feldmarschall
Дата 19.12.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Ну мы же программисты. Пожалуйста, не надо описывать картинку с точки зрения юзера.
Неужели нельзя посмотреть генерируемый HTML код?

А эталонный HTML, который выводит нужные списки правильно - есть?

Добавлено через 5 минут и 12 секунд
хихик. в декабре подсветка стоит не потому что правильно, а потому что месяц последний по списку =)
PM   Вверх
Fally
Дата 19.12.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 17.8.2006
Где: Dahla

Репутация: 3
Всего: 4



Цитата

Код

($f==$current_month) ? $select='selected' : $select='';


Не правильно используете языковые конструкции уважаемый ;0) Наверное правильней было бы так:
Код

$select = $f == $current_month ? 'selected' : '';

Аналогично и для года.

А вообще присоединяюсь к Feldmarschall с советом смотреть не ны вывод в браузер, а на сгенерированный HTML-код. И будет вам счастье.


--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
Vaulter
Дата 19.12.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



когда аттрибут selected='' броузеры все равно считают что пункт выделен .
это просто для стандарта требуется чтобы аттрибут не был коротким
то есть
selected=''
тоже самое что и 
selected


--------------------
PM MAIL WWW ICQ   Вверх
supercelt
Дата 19.12.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Вот сгенирённый код
Код

<select name="month" class="tbox"><option value="1" selected="">Январь</option><option value="2" selected="">Февраль</option><option value="3" selected="">Март</option><option value="4" selected="">Апрель</option><option value="5" selected="">Май</option><option value="6" selected="">Июнь</option><option value="7" selected="">Июль</option><option value="8" selected="">Август</option><option value="9" selected="">Сентябрь</option><option value="10" selected="">Октябрь</option><option value="11" selected="">Ноябрь</option><option value="12" selected="selected">Декабрь</option></select><select name="year" class="tbox"><option value="2007" selected="selected">2007</option><option value="2008" selected="">2008</option><option value="2009" selected="">2009</option><option value="2010" selected="">2010</option></select>


Всё в норме вроде
PM   Вверх
Fally
Дата 19.12.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 17.8.2006
Где: Dahla

Репутация: 3
Всего: 4



Vaulter, ты прав, у него везде selected стоит и браузер делает выделенным последний... 
supercelt, вот так надо всё-таки:
Код

$select= $c==$current_year ? 'select="selected"' : '';
$scroll.= '<option value="'.$c.'" "'.$select.'">'.$c.'</option>';

аналогично для месяца сделаешь сам.



--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0922 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.