Yii Framework Forum: Auto Completar Form - Yii Framework Forum

Jump to content

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

Auto Completar Form Rate Topic: -----

#1 User is offline   obscuremind 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 24
  • Joined: 14-December 12

Posted 04 January 2013 - 11:32 AM

Boa tarde.
Mais uma dúvida aparece.
Li que era possivél fazer um form se autocompletar apenas escolhendo um campo, por exemplo.
Tendo uma dropdownlist que vai buscar o id e nome cliente, selecionar o cliente e completar automaticamente por exemplo, o campo morada e nr telefone.
É realmente possivél fazer isto?
Qual extensão o permite fazer?
Cumprimentos e Obrigado pela ajuda.
0

#2 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 05 January 2013 - 08:51 AM

View Postobscuremind, on 04 January 2013 - 11:32 AM, said:

Boa tarde.
Mais uma dúvida aparece.
Li que era possivél fazer um form se autocompletar apenas escolhendo um campo, por exemplo.
Tendo uma dropdownlist que vai buscar o id e nome cliente, selecionar o cliente e completar automaticamente por exemplo, o campo morada e nr telefone.
É realmente possivél fazer isto?
Qual extensão o permite fazer?
Cumprimentos e Obrigado pela ajuda.


Boas!

Vê este exemplo e apartir daí é recorrer à imaginação:


A minha view (form create):

<div class="row">
                <?php echo $form->labelEx($model,'ServicoId'); ?>
                <?php 
                        echo CHtml::dropDownList('ServicoId','', CHtml::listData(Servicos::model()->findAll(),'Id','Nome'),
                                array(
                                        'empty'=>'Escolha Servico',
                                        'ajax' => array(
                                        'type'=>'POST', //request type
                                        'url'=>CController::createUrl('requisicoesBlocos/SendMaterialId'), 
                                        'update'=>'#MaterialId', //selector to update
                                        )
                                )
                        ); 
                ?>
                <?php echo $form->error($model,'ServicoId'); ?>
        </div>

        <div class="row">
                <?php echo $form->labelEx($model,'MaterialId'); ?>
                <?php echo CHtml::dropDownList('MaterialId','', array()); ?>
                <?php echo $form->error($model,'MaterialId'); ?>
        </div>


O meu controller:

public function actionSendMaterialId()
        {
                // Zec / Devolve material fico depois de escolher o servico e o Material
                $qry = 'SELECT * from materiais
                                inner join materiais_servicos on
                                materiais_servicos.ServicoId = '.'"'.$_POST['ServicoId'].'"
                                and materiais_servicos.MaterialId = materiais.Id
                                group by Nome;';
                           
                $result = Yii::app()->db->createCommand($qry)->queryAll();

                $data=CHtml::listData($result,'MaterialId', 'Nome');
                 foreach($data as $id => $value)
            {
                echo CHtml::tag('option',array('value' => $id),CHtml::encode($value),true);
            }
        }


   public function actionCreate()
        {
                $model=new RequisicoesBlocos;
                // Uncomment the following line if AJAX validation is needed
                // $this->performAjaxValidation($model);
                if(isset($_POST['RequisicoesBlocos']))
                {
                        $model->attributes=$_POST['RequisicoesBlocos'];

                        $model->Data = date("Y-m-d H:i:s");
                        $model->MaterialId = $_POST['MaterialId'];
                        $model->ServicoId = $_POST['ServicoId'];
                        
                        if($model->save())
                                $this->redirect(array('index'));
                }
                $this->render('create',array(
                        'model'=>$model,
                ));
        }



Espero ter ajudado.

Abraço!
0

#3 User is offline   obscuremind 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 24
  • Joined: 14-December 12

Posted 06 January 2013 - 05:24 PM

Obrigado ajudou imenso, pensei que teria que usar o CJuiAutoComplete muito obrigado pela ajuda.
0

#4 User is offline   Allan Freitas 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 38
  • Joined: 08-November 12
  • Location:Guarapari-ES - Brazil

Posted 06 January 2013 - 10:17 PM

Abordagem interessante, vou dar uma analisada entre essa e o CJuiAutoComplete.

Parabens pela solução.
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