0

Select hierárquico (combobox com múltiplos níveis)

criado por Rubens Takiguti Ribeiro em 18/03/2010 10:03pm
Este script serve para montar um select (combobox) com múltiplos níveis. O HTML oferece a tag "optgroup" para montar um select com um nível hierárquico, mas não permite um optgroup dentro de outro.

Com este script, você consegue montar um select com múltiplos níveis utilizando caracteres Unicode que simulam a organização hierárquica dos itens mostrados.

Exemplo de uso:
<?php

// Montando um vetor hierarquico
$vetor = array(
    'Grupo A' => array(
        'ABC' => array(
           '0' => '123',
           '1' => '456',
           '2' =>'789'
        ),
        '3' => 'DEF',
        '4' => 'GHI'
    ),
    'Grupo B' => array(
        '5' => 'JKL',
        '6' =>'MNO',
        'PQR' => array(
            '7' => 'abc',
            'def' => array(
                '8' => 'xyz',
                '9' => 'zyx',
                '10' => 'xzy'
            )
        ),
        '11' => 'teste'
    ),
    'Grupo C' => array(
        'STU' => array(
            '12' => '01',
            '13' => '02',
            '14' => '03'
        ),
        '15' => 'VWX',
        'YZÇ' => array(
            '16' => '04'
        )
    )
);

require_once('select_hierarquico.php')
header('Content-type: text/html; charset=UTF-8');

// Formas de usar
echo montar_select($vetor, 'light');
echo montar_select($vetor, 'double');
echo montar_select($vetor, 'simple');
exit(0);

?>

Observação: testei apenas no Firefox.
Data Autor Changelog Download
18/03/2010 10:03pm Rubens Takiguti Ribeiro Versão 0.1 Versão 0.1

Comentários:

Mostrando 1 - 2 de 2 comentários
Neste caso você precisa de Ajax e não da função que criei aqui no site.
18/05/2010 8:08pm (~14 anos atrás)

Clebermartins disse:
Ola... estou querendo montar um combo dinamico onde ao clicar em um item do combo, automaticamente preencha um outro combo....

Tenho uma tabela com varios médicos, e preciso que ao clicar em um médico ele traga a especialidade em um outro campo para que com isso eu use uma regra de calculo de acordo com a especialidade.

Obrigado.
18/05/2010 7:50pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)