Yii Framework Forum: Problema Con Dropdown A Selezione Multipla - Yii Framework Forum

Jump to content

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

Problema Con Dropdown A Selezione Multipla Rate Topic: -----

#1 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 21 February 2013 - 03:23 AM

Situazione ho dei contatti e dei gruppi di contatti. La relazione tra di loro è di molti a molti, tramite tabella di collegamento

contact 1:N contact_to_contact_group N:1 contact_group
Vi prego: ignorate la nomenclatura

Quando creo o modifico un contatto ho la necessità di avere una lista di tutti i gruppi disponibili, TUTTI, e PRE-SELEZIONATI solo quelli a cui il contatto appartiene.

Per esempio:
Mettiamo che ho i gruppi A, B e C e che il contatto 1 appartiene ad A e C
Nella select devo vedere
A
B
C

ma con A e C già preselezionati.

Devo fare la select 'a manina' o c'è modo di usare l'oggetto form dicendogli sia la base dati che i valori da preselezionare ? non mi riesce proprio..

Nell'ogggetto contact naturalmente c'è già una variabile publbica se si chiama $group_id_array, e quano creo la dropdown uso questa come campo. Ma o gli passo tutti i valori (e quindi non me ne seleziona nessuno), oppure gli passo quelli a cui appartiene il contatto (e quindi non mi mostra gli altri...)

Ehm.. come l'affrontereste questa cosa?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 21 February 2013 - 03:31 AM

mmm...
Io uso questo senza l'oggetto form, ma ritengo sia uguale:
Il valore che gli passi deve essere un array e fa da sé.
$r=array(1,2); 
echo CHtml::dropDownList('liv', $r, array(
        ''=>'',
        1=>'Mastri',
        2=>'Conti',
        3=>'Sottoconti',
        4=>'Quarti livelli'
    ),
            array('onchange'=>"this.form.submit();", 'MULTIPLE'=>'multiple')); ?> 

0

#3 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 21 February 2013 - 03:39 AM

Io ho risolto così

  $my_groups = $model->contact_group;
    
    $selected_groups = array();
    
    foreach ($my_groups as $opt) {
        $selected_groups[$opt->id] = array ('selected'=>true);
    }
    
    echo $form->dropDownListRow(
            $model, 'contact_group_id',
            CHtml::listData($model->client->contact_group, "id", "name"),
            array(
                'multiple'=>true,
                'options' => $selected_groups,
            )
   );


Come dicevo nel primo post: nella lista ci devono essere TUTTI i gruppi (per la precisione tutti quelli del cliente a cui apparteiene quel contatto), ma PRESELEZIONATI ci devono essere solo quelli a cui il contatto appartiene gia.

Praticamente sto fondendo due fonti di informazioni diverse ma aumentarne il significato.

In questo modo l'utente può aggiungere o togliere un contatto da uno o più gruppi senza smattire
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
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