Dropdownlist Option Disabled

Есть категории, надо сделать так чтобы категории первого уровня parent_id=0 нельзя было выбрать, добавить option disabled, как это лучше реализовать?

нужно получить список такого вида




<select>

    <option disabled>Автомобили</option>

    <option value="ford">Ford</option>

    <option value="bmw">BMW</option>

    <option disabled>Телефоны</option>

    <option value="htc">HTC</option>

</select>



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




<select name="list" id="list">

  <optgroup label="Автомобили">

    <option value="Ford">Ford</option>

    <option value="BMW">BMW</option>

  </optgroup>

  <optgroup label="Телефоны">

    <option value="HTC">HTC</option>

    <option value="Nokia">Nokia</option>

  </optgroup>

</select>



Например:




$arr=array(

    'Автомобили'=>array(

        'Ford'=>'Ford',

        'BMW'=>'BMW',

    ),

    'Телефоны'=>array(

        'HTC'=>'HTC',

        'Nokia'=>'Nokia',

    ),

);

echo CHtml::dropDownList("list", '', $arr);



А что бы получить такой группированный список, можно использовать:




static public function listOf(){

    $arr=self::model()->findAll();

    return CHtml::listData($arr, 'id', 'name', 'typeName' );

}



т.е. третий параметр (не обязательный) указывает по какому полю группировать.

Yii прекрасен.

а что делать если хочешь сделать

$arr=array(

'Автомобили'=&gt;array(


    'Ford'=&gt;array(


                  '1'=&gt;'est',


                  '2'=&gt;'focus',


                  ),





    'BMW'=&gt;'BMW',


),


'Телефоны'=&gt;array(


    'HTC'=&gt;'HTC',


    'Nokia'=&gt;'Nokia',


),

);

есть пример готового кода?

или в таком случае только применять "магические" пробелы

Вопрос неясен. Как сделать тройную вложенность? В обычном dropdown списке? Не уверен даже, что HTML это позволяет. Да и без возможности сворачивания это будет такая простыня, что юзеру не понравится.

Если надо древовидное представление информации, нужно искать соответствующий компонент, на вскидку не помню.

Если достаточно автодополнения, то есть autocomplete.

Что такое "магические" пробелы, я даже и не знаю.

да , нужно именно древовидно отобразить

"Что такое "магические" пробелы,"

это я имел ввиду что добавить пробел в название суб категории

Посмотрите на CTreeView. Этот компонент больше подходит для данной структуры.

спасибо:)