Autor Zpráva
JirkaR
Profil *
Zdravím, potřeboval bych poradit ohledně roletového menu -
nyní mám například :
<?php echo JText::_('OBJ_POSITION'); ?>
<input type="text" name="position" size="10" class="inputbox" maxlength="25" value="<?php echo $obj->position; ?>" />

kde jde v podstatě jen něco vepsat do pole, já bych potřeboval místo toho udělat roletové menu s výběrem více položek. Díky

Moderátor Str4wberry: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Str4wberry
Profil
Použij element <select>.
jirkar
Profil *
Zdravim opět, vytvořil jsem co sem potřeboval:

<select name="roomse">
                  echo '<option value="Nezadáno" selected="selected">Vyberte počet místností</option>';
                  echo '<option>1+kk</option>';
                  echo '<option>1+1</option>';
                  echo '<option>2+kk</option>';
                  echo '<option>2+1</option>';
                  echo '<option>3+kk</option>';
                  value="<?php echo $obj->roomse; ?>" />

do databáze se vybraná hodnota zapíše a vše funguje, ale při editaci se zobrazí opět ta první - Vyberte počet místností, vím že je nastavená jako selected, ale i když není, uložená hodnota se stejně při editaci nezobrazí, jak to nějak jednoduše udělat? Díky.
panther
Profil
jirkar:
u selectu se zobrazuje automaticky první položka. Když by nebyla žádná selected, což nemusí, která by se podle tebe měla zobrazit jiná než právě první? :-)

Udělej si podmínku ke každému optionu a přiřazuj mu selected. Něco jako:
<option<?php if ($pocet_mistnosti == '1+kk') echo ' selected' ?>>1+kk</option>
<option<?php if ($pocet_mistnosti == '1+1') echo ' selected' ?>>1+1</option>
...

Místo $pocet_mistnosti si samozřejmě dej svojí proměnnou, nevím, jak se jmenuje.
Str4wberry
Profil
Musíš to selected vypsat právě u té položky, která má být zvolena. Jinak ten kód, co jsi sem poslal, je nějaký divný.
panther
Profil
Str4wberry:
Jinak ten kód, co jsi sem poslal, je nějaký divný.
jen trochu hatlámapatláma HTML s PHP dohromady :-)

jirkar:
Až teď po obarvení kódu jsem si všiml, co tam dělá ten poslední řádek? K čemu to „value“ patří/má patřit?
jirkar
Profil *
panther:
Původně tam bylo jen:
<td class="ea_admin_label"><?php echo JText::_('EA_OBJ_ROOMNR'); ?></td>
                  <td><?php echo $lists['roomse'];?></td>


a ten $lists['roomse']; byl definován v jinde:
for ($i = 0; $i <= 12; $i++) {
				$nrroomse[] = JHTML::_('select.option', $i,$i);
			}
			$lists['roomse'] = JHTML::_('select.genericlist', $nrroomse, 'roomse', ' class="inputbox" size="1"', 'value', 'text', $obj->roomse );


Jenže pak bylo na výber jen z čísel 0-12
jirkar
Profil *
takže nejak takhle:
<select name="roomse">
                  echo '<option value="Nezadáno" selected="selected">Vyberte počet místností</option>';
                  echo '<option<?php if ($obj->roomse == '1+kk') echo ' selected' ?>>1+kk</option>'
                  echo '<option<?php if ($obj->roomse == '1+1') echo ' selected' ?>>1+1</option>'
                  echo '<option<?php if ($obj->roomse == '2+kk') echo ' selected' ?>>2+kk</option>'
                  echo '<option<?php if ($obj->roomse == '2+1') echo ' selected' ?>>2+1</option>'
                  echo '<option<?php if ($obj->roomse == '3+kk') echo ' selected' ?>>3+kk</option>'
                  echo '<option<?php if ($obj->roomse == '3+1') echo ' selected' ?>>3+1</option>'
                  echo '<option<?php if ($obj->roomse == '4+kk') echo ' selected' ?>>4+kk</option>'
                  echo '<option<?php if ($obj->roomse == '4+1') echo ' selected' ?>>4+1</option>'
                  echo '<option<?php if ($obj->roomse == '5+kk') echo ' selected' ?>>5+kk</option>'
                  echo '<option<?php if ($obj->roomse == '5+1') echo ' selected' ?>>5+1</option>'
                  echo '<option<?php if ($obj->roomse == '6+kk') echo ' selected' ?>>6+kk</option>'
                  echo '<option<?php if ($obj->roomse == '6+1 a víc') echo ' selected' ?>>6+1 a víc</option>'

a tohle asi pryč?:
value="<?php echo $obj->roomse; ?>" />
panther
Profil
jirkar:
a tohle asi pryč?:
tohle určitě pryč.

takže nejak takhle:
proč to nezkusíš?

Je to nějaký HTML a PHP paskvil, máš tam select (HTML) a pod ním echo (PHP).
jirkar
Profil *
panther:
Teď to funguje, jsem začátečník takže to spíš zkouším pokus omyl - a to echo dám pryč.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0