Widget Select2 Dependiente

Tengo la siguiente situación: Debo poder seleccionar mas de una localidad para una determinada provincia.

Por lo que tengo un dropDownList de provincias, al seleccionar una provincia de este dropDown, se actualiza un select2 con las localidades de la provincia seleccionada.

Logro que al seleccionar una provincia cambien las opciones disponibles del select2, lo que no consigo es que al cambiar la selección, se borren en el select2 las opciones elegidas anteriormente. ¿Que es lo que me faltaría para conseguir esto?

En la vista tengo lo siguiente:




 <?php echo $form->dropDownListRow($persona,

				   'id_provincia',

				   CHtml::listData(Provincia::model()->findAll(),'id_provincia','descripcion'), 

				   array('ajax' => array('type' => 'POST',

                                                         'url' => CController::createUrl('Localidad/dinamycLocalidadesPorProvincia'),

                                                         'update' => '#Persona_LocalidadesPersona',

                                                         ),

                                         )

                                   );

 ?>




 <?php  echo $form->select2Row($persona, 'LocalidadesPersona',

 			       array('asDropDownList' => true,

		               'data' => CHtml::listData(Localidad::model()->findAll(array('condition'=>'id_provincia='.$persona->id_provincia)), 'id_localidad', 'descripcion'),

		               'options' => array('placeholder' => 'Localidades',

						  'width' => '48%',

						  'allowClear' => true,),

		               'multiple' => 'multiple',

							     	    )

								  )

      ?>




Y en LocalidadController tengo lo siguiente:




      public function actionDinamycLocalidadesPorProvincia()

      {


	    $data=Localidad::model()->findAll(array('condition'=>'id_provincia=:id_provincia',

                                                    'order'=>'descripcion',

                                                    'params'=> array(':id_provincia'=>(int) $_POST['Persona']['id_provincia'])));

 

            $data=CHtml::listData($data,'id_localidad','descripcion');

            

            foreach($data as $value=>$name)

            {

                  echo CHtml::tag('option', array('value'=>$value),CHtml::encode($name),true);

            }

      }    



Agradecería si me pueden ayudar.

Estimado,

Nunca lo he hecho, pero quizás este video-tutorial te pueda server. Link

Saludos

Muchas gracias nkdos por la respuesta pero no es lo que ando necesitando.

Al seleccionar del dropDown, las opciones del select2 se actualizan correctamente.

Lo que no logro es poder borrar las opciones elegidas del select2 si se cambia la provincia

supongamos por ejemplo que el dropDown tiene 2 provincias: prov_1 y prov_2

las localidades de prov_1 son localidad_A y localidad_B

las localidades de prov_2 son localidad_C y localidad_D

Si inicialmente selecciono prov_1 del dropDown, el select2 muestra las localidades de esta provincia, es decir, muestra localidad_A y localidad_B

Supongamos que selecciono la opción localidad_A en el select2

Si después en el dropDown cambio prov_1 por prov_2, las opciones que muestra el select2 son localidad_C y localidad_D y esto es correcto pero localidad_A sigue seleccionada y no encuentro la forma de limpiar esta selección al cambiar de provincia.

¿Alguna sugerencia de como hacerlo?