Yii Framework Forum: Dropdownlist Option Disabled - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Dropdownlist Option Disabled Rate Topic: -----

#1 User is offline   silent9 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 10-December 08
  • Location:Russian Fed., Moscow

Posted 11 November 2012 - 03:15 AM

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

#2 User is offline   silent9 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 10-December 08
  • Location:Russian Fed., Moscow

Posted 11 November 2012 - 03:58 AM

нужно получить список такого вида
<select>
    <option disabled>Автомобили</option>
    <option value="ford">Ford</option>
    <option value="bmw">BMW</option>
    <option disabled>Телефоны</option>
    <option value="htc">HTC</option>
</select>

0

#3 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 313
  • Joined: 03-September 11

Posted 12 November 2012 - 01:38 AM

При такой постановке задачи очевидно, что вам нужно использовать группы
<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 прекрасен.
0

#4 User is offline   michail 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 02-August 13

Posted 02 August 2013 - 10:02 AM

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

$arr=array(
'Автомобили'=>array(
'Ford'=>array(
'1'=>'escort',
'2'=>'focus',
),

'BMW'=>'BMW',
),
'Телефоны'=>array(
'HTC'=>'HTC',
'Nokia'=>'Nokia',
),
);

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

#5 User is offline   michail 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 02-August 13

Posted 02 August 2013 - 10:04 AM

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

#6 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 313
  • Joined: 03-September 11

Posted 03 August 2013 - 09:16 AM

Вопрос неясен. Как сделать тройную вложенность? В обычном dropdown списке? Не уверен даже, что HTML это позволяет. Да и без возможности сворачивания это будет такая простыня, что юзеру не понравится.
Если надо древовидное представление информации, нужно искать соответствующий компонент, на вскидку не помню.
Если достаточно автодополнения, то есть autocomplete.
Что такое "магические" пробелы, я даже и не знаю.
0

#7 User is offline   michail 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 02-August 13

Posted 05 August 2013 - 01:12 AM

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

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

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

#8 User is online   ineersa 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 251
  • Joined: 15-April 13
  • Location:Ukraine

Posted 05 August 2013 - 01:29 AM

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

#9 User is offline   michail 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 02-August 13

Posted 05 August 2013 - 03:39 AM

спасибо:)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users