Salve a tutti,
sto provando a far si che in un form nel campo “ricerca_cliente” se l’ utente scrive 2 lettere gli si apra la “tendina” nella quale può selezionare il cliente che gli serve.
In questa "tendina" trova tutti i dati del cliente, tra cui indirizzo, comune, provincia etc. Con ciò che ho creato tutti questi campi (presi attraverso una query dal databse) al click sul nome del cliente vanno a riempire un solo campo. Io invece vorrei che a ogni campo si andasse a posizionare il value corretto. Lotto con questa cosa da una settimana, ma nn ne cavo piede.
Allego un screen dove si vede la tendina che compare ma tutti quei dati vanno a finire in un solo textField al click sul nome. Dovrebbero andare a posizionarsi nei vari textField. Qualcuno può darmi una mano perfavore
Questo e il codice della mia action nel Controller:
public function actionAutocomplete($term) {
$criteria = new CDbCriteria;
$criteria->compare('cliente_nome', $term, true);
$model = Missiva::model()->findAll($criteria);
foreach ($model as $value) {
$array[] = array(
'value' => $value->cliente_cognome. ' ' .$value->cliente_nome. ' ' .$value->cliente_tipovia . ' '
.$value->cliente_indirizzo. ' n. ' .$value->cliente_civico. ' - ' .$value->cliente_cap. ', ' .$value->cliente_comune.
' (' .$value->cliente_provincia.')',
'label' => $value->cliente_cognome. ' ' .$value->cliente_nome. ' ' .$value->cliente_tipovia . ' '
.$value->cliente_indirizzo. ' n. ' .$value->cliente_civico. ' - ' .$value->cliente_cap. ', ' .$value->cliente_comune.
' (' .$value->cliente_provincia.')',
);
}
echo CJSON::encode($array);
Yii::app()->end();
}
Questo invece è il codice che ho nella vista:
<div class="table_box">
<?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::textField('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_nome").val( ui.item.label );
$("#cliente_nome").val( ui.item.value );
return true;
}',
),
'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>
.....................ALtri campi che non mi interessa riempire