Salve, Sono alle prima esperienza con il framwork, avrei bisogno di un aiuto
Ho appena creato un modulo mediante CRUD, ho sostituito il controllo :
echo $form->textField($model,'idCentroCosto');
con
$models = Centricosto::model()->findAll(array('order' => 'dsCentroCosto'));
$list = CHtml::listData($models, 'idCentroCosto', 'dsCentroCosto');
echo CHtml::dropDownList('idCentroCosto', $model, $list,array('empty' => '(Select centro costo'));
Ma quando vado a fare il submit non riesco a recuperare il valore, mi viene risposto empty oppure se un valore richesto il forms mi blocca
Grazie a tutti
Page 1 of 1
Gestione Dropdown List
#2
Posted 22 November 2012 - 07:49 AM
prova questo:
echo CHtml::dropDownList('idCentroCosto', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
#3
Posted 22 November 2012 - 08:07 AM
Grazie,
Purtroppo il risultato non è cambiato, la cosa che mi fa strano è che il valore viene recuperato dal db, mentre il valore che vado a cambiare nella drop non viene passato dal form, devo cambiare anche il model o il control per poter gestire una dropdown
?!
questo è il codice che ho nel _form.php
<div class="row">
<?php echo $form->labelEx($model,'idCentroCosto'); ?>
<?php
$modCC = Centricosto::model()->findAll(array('order' => 'dsCentroCosto'));
$list = CHtml::listData($modCC, 'idCentroCosto', 'dsCentroCosto');
echo CHtml::dropDownList('idCentroCosto', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
?>
<?php echo $form->error($model,'idCentroCosto'); ?>
</div>
Purtroppo il risultato non è cambiato, la cosa che mi fa strano è che il valore viene recuperato dal db, mentre il valore che vado a cambiare nella drop non viene passato dal form, devo cambiare anche il model o il control per poter gestire una dropdown
questo è il codice che ho nel _form.php
<div class="row">
<?php echo $form->labelEx($model,'idCentroCosto'); ?>
<?php
$modCC = Centricosto::model()->findAll(array('order' => 'dsCentroCosto'));
$list = CHtml::listData($modCC, 'idCentroCosto', 'dsCentroCosto');
echo CHtml::dropDownList('idCentroCosto', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
?>
<?php echo $form->error($model,'idCentroCosto'); ?>
</div>
#4
Posted 22 November 2012 - 08:42 AM
Risolto il problema era il nome della dropdown praticamente
scrivendo cosi :
echo CHtml::dropDownList('Servizi[idCentroCosto]', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
viene recuperato il codice dal controller
Grazie ....
scrivendo cosi :
echo CHtml::dropDownList('Servizi[idCentroCosto]', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
viene recuperato il codice dal controller
Grazie ....
#5
Posted 22 November 2012 - 11:16 AM
infatti dovevi usare activeDropDownList($model,'nome_attributo'..)
#6
Posted 23 November 2012 - 01:43 AM
Scusate che differenza c'è tra l'activeDropDownList e la dropDownList ?
Grazie
Grazie
#7
Posted 23 November 2012 - 08:08 PM
activeDropDownList() : Generates a drop down list for a model attribute.
dropDownList(): Generates a drop down list.
la tua dropDownList era una select generica, non agganciata al model,
infatti lamentavi il fatto che i valori non venissero letti e salvati correttamente.
Se avessi guardato nel POST, avresti visto che il name della select non era del tipo Model['nomecampo']
e se guardi come una Action legge gli attributi del model noterai un $model->attributes = $_POST['Model'];
infatti quando hai specificato a mano Servizi[idCentroCosto] tutto è andato liscio.
dropDownList(): Generates a drop down list.
la tua dropDownList era una select generica, non agganciata al model,
infatti lamentavi il fatto che i valori non venissero letti e salvati correttamente.
Se avessi guardato nel POST, avresti visto che il name della select non era del tipo Model['nomecampo']
e se guardi come una Action legge gli attributi del model noterai un $model->attributes = $_POST['Model'];
infatti quando hai specificato a mano Servizi[idCentroCosto] tutto è andato liscio.
Ricky68, on 23 November 2012 - 01:43 AM, said:
Scusate che differenza c'è tra l'activeDropDownList e la dropDownList ?
Grazie
Grazie
Share this topic:
Page 1 of 1

Help














