Maneira correta de setar valor em um select.
Boa noite galera, beleza?
Estou fazendo uns teste com umas telas, e estava pensando qual q melhor maneira de setar valor em um select.
Imagine que na hora que carrego meu HTML, eu já tenho um Model com valores preenchidos e só vou exibi-los no PHP. Eu consigo fazer isso para campos do tipo texto sem problemas
<div>NOME:</div>
<input type="text" name="cat_nome" id="cat_nome" value="<?echo $controller->getModel()->getNome();?>"/>
</div>
Agora como fazer isso para um select? Eu achei uma maneira, mas acho que ficou muita gambi, vejam o que acham:
<label>CATEGORIA:</label>
<?
$categorias = $controller->getCategoriaList();
if(count($categorias) > 0){ ?>
<select id="subcat_cat_id" name="subcat_cat_id">
<option/>
<? for($i = 0 ; $i < count($categorias) ; $i++){ ?>
<option value='<?=$categorias[$i]["id"]?>'><?=$categorias[$i]["nome"]?></option>
<? } ?>
</select>
<? }
if($_GET["editar"]){
?><script>document.getElementById('subcat_cat_id').selectedIndex = <? echo $controller->getSubCategoriaModel()->getCategoria(); ?></script> <?
}
?>
</div>
Esta certo eu chamar um JS pra setar o index do Select com o valor do model ou existe outra forma de fazer isso mais bonita?
Abraço
Discussão (2)
Carregando comentários...