lookup field and subform

Hi! I’m starting discover Yii and I’m pretty happy with it.

I need a suggestion: I’m developing a little application to manage sales orders.

My idea it to create a form with header (customer, addresses, …) and a subform with lines (item, quantity, …).

Also, for field like customer would be great some like a lookup field, so when I click on it I can select a customer from a searchable list.

Any suggestion to do something like this?

Watch this:

http://www.yiiframework.com/doc/guide/form.table

Thanks sebas! That class would be useful for lines of my sales order :slight_smile:

What about lookup field?

Hi

try use this

in the caller




<script type="text/javascript">

function openLookUp(){

  var url="......./CustomerlookUp";


  window.open(url,"Customers","alwaysRaised=yes,toolbar=no,menubar=no,status=no,resizable=yes,width=400,height=300")

}

</script>

in the view of Customers




<script type="text/javascript">

function select(id) {

window.opener.document.getElementById('Customer_id').value = id;

window.close();

};

</script>



You can pass parameters

examples from my code




echo CHtml::link('', '#', array('class'=>'btn_lov','title'=>Yii::t('msj','title_buscar'),'onclick'=>'lovEspecialidades()')); ?>


<script type="text/javascript">

   function lovEspecialidades(){

   var url= "<?php echo $this->createUrl('regprof/rp_especialidades/lovRp_especialidades',

             array('des_id_especialidad'=>'Rp_matriculas_esp_idEspecialidad'

                  ,'des_descripcion'=>'Rp_especialidades_descripcion')

           )?>";

  window.open(url,"lov_especialidades","alwaysRaised=yes,toolbar=no,menubar=no,status=no,resizable=yes,width=600,height=500,left=50,top=100");

}


</script>



in the LOV




<?php echo CHtml::link($model->cod_especialidad, '#', array('size'=>25,'onclick'=>'selecciona("'.$_GET['des_id_especialidad'].'",'.$model->idEspecialidad.',"'.$_GET['des_descripcion'].'","'.$model->descripcion.'")')); ?>


<script type="text/javascript">

function selecciona(p_id_destino,p_idEspecialidad,p_destino_des,p_descripcion) {

window.opener.document.getElementById(p_id_destino).value = p_idEspecialidad;

window.opener.document.getElementById(p_destino_des).value = p_descripcion;


window.close();

};

</script>