[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Последовательность 0,1 0,2 0,3 в выпадающем списке
Fellix
Здравствуйте!

Имеется такой код:

		if($dbrow->displacement){
$dispexp = explode(".", $dbrow->displacement);
$dispv1 = $dispexp[0];
$dispv2 = $dispexp[1];
} else {
$dispv1 = '';
$dispv2 = '';
}


$disp1[] = JHTML::_('select.option', '', 'Литры' , 'value', 'text' );

for($i=0; $i < 7; $i++) {
$disp1[] = JHTML::_('select.option', $i, $i);
}

if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', $dispv1);
$disp2[] = JHTML::_('select.option', '', 'Десятые' , 'value', 'text' );

for($i=0; $i < 10; $i++) {
$disp2[] = JHTML::_('select.option', $i, $i);
}

$lists['disp2'] = JHTML::_('select.genericlist', $disp2, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', $dispv2);



Код служит для записи в базу объема двигателя автомобиля.
Ужасно неудобный с двух выпадающих списков для литров и десятых.

Если это реально, помогите пожалуйста его упростить, чтоб получился один выпадающий список с последовательностью примерно от 0,9 до 5,0 с шагом 0,1.




Спустя 1 час, 19 минут, 20 секунд (30.06.2012 - 00:12) sergeiss написал(а):
А кто тебе мешает сделать один цикл for(...) и задать одну вещественную переменную, которую наращивать с нужным тебе шагом 0,1? Не вижу препятствий.

Спустя 10 часов, 36 минут, 18 секунд (30.06.2012 - 10:48) Fellix написал(а):
sergeiss, мешает в первую очередь отсутствие знаний )))


Вот что получилось, подсказали:

		$disp1[]	= JHTML::_('select.option',  '', 'Объем в литрах' , 'value', 'text' );
for($i=0.7; $i < 7.7; $i+=0.1) {
$disp1[] = JHTML::_('select.option', $i, $i);
}
if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', intval($dbrow->displacement));


В выпадающем списке целые числа остаются целыми.
А хотелось бы "1.0" и т.д.

подсказали и это:

$y = sprintf("%.1F", $x);


но тут уже я совсем заблудился))

Как это использовать в моём случае?

Спустя 1 час, 3 минуты, 38 секунд (30.06.2012 - 11:52) Fellix написал(а):
Вопрос решен, всем спасибо!

		$disp1[]	= JHTML::_('select.option',  '', 'Объем в литрах' , 'value', 'text' );
for($i=0.7; $i < 7.7; $i+=0.1) {

$l = number_format( $i, 1 );
$disp1[] = JHTML::_('select.option', $l, $l);
}
if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', intval($dbrow->displacement));

Спустя 25 минут, 23 секунды (30.06.2012 - 12:17) sergeiss написал(а):
Цитата (Fellix @ 30.06.2012 - 11:48)
мешает в первую очередь отсутствие знаний )))

Цитата (Fellix @ 30.06.2012 - 12:52)
Вопрос решен, всем спасибо!

Как я вижу, знания ты быстро приобретаешь smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.