Hola amigos,
tengo un problema con CJuiAutoComplete.
En la vista tengo un formulario con varios textfield y el primer es mi CJuiAutocomplete que es mi textField de busuqeda.
El CJuiAutocomplete funciona bien por que a insertar 2 lettras de un nombre me salen todos los nombres que estan en la base datos que empiezen con las lettras que el usuario inserte. Si pincho en uno de los nombres que aparecen pero solo se autocompleta el textField del campo de busuqeda.
Lo que quiero es que a insertar las lettras en el campo de busuqeda, en la ventana se puedan veer mas attributos que aparacen a esos nombres, y pinchando en el nombre se me llenen los campos de mi form.
Alguien puede ayudarme por favor por que me estoy volviendo loco hace algunos dias.
Espero me entiendan…ya se que mi espanol tampoco esta perfecto-
Les pido disculpa.
Mi Controlador:
public function actionAutoComplete($term){
$ricerca_cliente = $_GET['ricerca_cliente'];
$inizio_ricerca = Missiva::model()->findAll(
'cliente_cognome LIKE :ricerca_cliente',
array(':ricerca_cliente' => "%$ricerca_cliente%")
);
$list = array();
foreach($inizio_ricerca as $risultati){
$data['value']= $risultati['cliente_nome'];
$data['cliente_cognome']= $risultati['cliente_cognome'];
$list[]= $data;
unset($data);
}
echo json_encode($list);
}
Mi vista:
<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id'=>'missiva-form',
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validate OnSubmit'=>true,
))); ?>
<?php echo $form->errorSummary($model); ?>
<div class="table_box">
<table class="tabella_login" style="width: 100%; margin: auto;">
<tbody>
<tr>
<td colspan=2 class="tabella_info_header tabella_first_form">Destinatario</td>
</tr>
<tr>
<td class="tabella_info_campo_data" width="15%">
Ricerca
</td>
<td class="table_info_data" style="padding-top:20px;">
<?php
echo CHtml::hiddenField('selectedvalue','');
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'ricerca_cliente',
'value'=>'',
'source'=>CController::createUrl('/missiva/autoComplete'),
'options'=>array(
'showAnim'=>'fold',
'minLength'=>'2',
'select'=>'js:function( event, ui ) {
$("#cliente_cognome").val( ui.item.cliente_cognome );
$("#cliente_nome").val( ui.item.cliente_nome );
}',
),
'htmlOptions'=>array(
'onfocus' => 'js: this.value = null; $("#ricerca_cliente").val(null); $("#selectedvalue").val(null);',
'class' => 'input-xxlarge search-query',
'placeholder' => "Search...",
),
));
?>
</td>
</tr>
<tr>
<td class="tabella_info_campo_data" width="15%">
<?php echo $form->labelEx($model,'cognome'); ?>
</td>
<td class="table_info_data">
<?php echo $form->textField($model,'cliente_cognome',array('class'=>'span6','maxlength'=>100)); ?>
<?php echo $form->error($model,'cliente_cognome'); ?>
</td>
</tr>
<tr>
<td class="tabella_info_campo_data">
<?php echo $form->labelEx($model,'nome'); ?>
</td>
<td class="table_info_data" style="padding-top:20px;">
<?php echo $form->textField($model,'cliente_nome',array('class'=>'span6','maxlength'=>100)); ?>
<?php echo $form->error($model,'cliente_nome'); ?>
</td>
</tr>
<tr>
<td class="tabella_info_campo_data" rowspan="3">
<?php echo $form->labelEx($model,'Indirizzo'); ?>
</td>
<td class="table_info_data" style="padding-top:20px;">
<?php echo $form->dropDownList($model,'cliente_tipovia', CHtml::listData(Ubicazioni::model()->findAll(), "nomeub","nomeub"), array('class'=>'span2'));?>
<?php echo $form->error($model,'cliente_tipovia'); ?>
<?php /* echo $form->labelEx($model,''); */?>
<?php echo $form->textField($model,'cliente_indirizzo',array('class'=>'span6','maxlength'=>50)); ?>
N°
<?php echo $form->textField($model,'cliente_civico',array('class'=>'span1','maxlength'=>10)); ?>
<?php echo $form->error($model,'cliente_indirizzo'); ?>
<?php echo $form->error($model,'cliente_civico'); ?>
</td>
</tr>
<tr>
<td class="table_info_data" style="border-left:1px solid #b11a01; border-right:3px solid #b11a01; padding-top:20px;">
Cap<?php /*echo $form->labelEx($model,'cap'); */?>
<?php echo $form->textField($model,'cliente_cap',array('class'=>'span1','maxlength'=>10)); ?>
Comune<?php /*echo $form->labelEx($model,'comune'); */?>
<?php echo $form->textField($model,'cliente_comune',array('class'=>'span4','maxlength'=>60)); ?>
<?php /*echo $form->labelEx($model,'prov'); */?>
Provincia <?php echo $form->textField($model,'cliente_provincia',array('class'=>'span1','maxlength'=>60)); ?>
<?php echo $form->error($model,'cliente_cap'); ?>
<?php echo $form->error($model,'cliente_comune'); ?>
<?php echo $form->error($model,'cliente_provincia'); ?>
</td>
</tr>
<tr>
<td class="table_info_data" style="padding-top:20px;">
Nazione
<?php echo $form->dropDownList($model,'cliente_stato', CHtml::listData(Stati::model()->findAll(), "nome","nome"), array('class'=>'span4'));?>
<?php echo $form->error($model,'cliente_stato'); ?>
</td>
</tr>
<tr class="tabella_info_footer">
<td colspan=2 class="tabella_chiusura_form">
</td>
</tr>
</tbody>
</table>
</div>