Mohon bantuannya, masih newbie tentang yii framework. Saya punya 2 dropdwonlist dan 1 textfield, dimana value dari kedua dropdownlist itu saya gabungkan dan masuk di textfield tersebut.
Apakah pakai 2 template sementara lalu digabung, atau bisa langsung digabung…
Mohon bantuannya, masih newbie tentang yii framework. Saya punya 2 dropdwonlist dan 1 textfield, dimana value dari kedua dropdownlist itu saya gabungkan dan masuk di textfield tersebut.
Apakah pakai 2 template sementara lalu digabung, atau bisa langsung digabung…
please give me some answer…
dmukadar
(Daudmukadar)
February 11, 2014, 2:47am
3
Mohon bantuannya, masih newbie tentang yii framework. Saya punya 2 dropdwonlist dan 1 textfield, dimana value dari kedua dropdownlist itu saya gabungkan dan masuk di textfield tersebut.
Apakah pakai 2 template sementara lalu digabung, atau bisa langsung digabung…
Kalo untuk nggabungkannya cukup dari javascript, contoh viewnya begini:
...
<div class="row">
<?php echo $form->labelEx($model,'jenis_dokumen'); ?>
<?php echo $form->dropDownList($model,'jenis_dokumen', $listJenisDokumen, array('id'=>'cbo-jenis-dokumen')); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'departemen'); ?>
<?php echo $form->dropDownList($model,'departemen', $listDepartemen, array('id'=>'cbo-departemen')); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'no_dokumen'); ?>
<?php echo $form->textField($model,'no_dokumen', array('id'=>'no-dokumen')); ?>
</div>
...
<?php Yii::app()->clientScript->registerScript('autocomplete-no-dokumen', '
var refreshNoDokumen = function() {
var jenis = $("#cbo-jenis-dokumen").val();
var departemen = $("#cbo-departemen").val();
$("#no-dokumen").val(jenis + "/" + departemen);
}
$("#cbo-jenis-dokumen").change(function() { refreshNoDokumen(); });
$("#cbo-departemen").change(function() { refreshNoDokumen(); });
'); ?>
...
daftar nama jenis dokumen dan nama departemen diinject dari controller:
...
$listDoc = array('BUT-CS'=>'Checksheet', 'BUT-INV'=>'Invoice');
$listDept = array('IT'=>'Teknologi Informasi', 'ACC'=>'Accounting', 'FIN'=>'Finance');
$this->render('nama_viewnya', array(
'model'=>$model,
'listJenisDokumen'=>$listDoc,
'listDepartemen'=>$listDept,
));
...
Kalo untuk nggabungkannya cukup dari javascript, contoh viewnya begini:
...
<div class="row">
<?php echo $form->labelEx($model,'jenis_dokumen'); ?>
<?php echo $form->dropDownList($model,'jenis_dokumen', $listJenisDokumen, array('id'=>'cbo-jenis-dokumen')); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'departemen'); ?>
<?php echo $form->dropDownList($model,'departemen', $listDepartemen, array('id'=>'cbo-departemen')); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'no_dokumen'); ?>
<?php echo $form->textField($model,'no_dokumen', array('id'=>'no-dokumen')); ?>
</div>
...
<?php Yii::app()->clientScript->registerScript('autocomplete-no-dokumen', '
var refreshNoDokumen = function() {
var jenis = $("#cbo-jenis-dokumen").val();
var departemen = $("#cbo-departemen").val();
$("#no-dokumen").val(jenis + "/" + departemen);
}
$("#cbo-jenis-dokumen").change(function() { refreshNoDokumen(); });
$("#cbo-departemen").change(function() { refreshNoDokumen(); });
'); ?>
...
daftar nama jenis dokumen dan nama departemen diinject dari controller:
...
$listDoc = array('BUT-CS'=>'Checksheet', 'BUT-INV'=>'Invoice');
$listDept = array('IT'=>'Teknologi Informasi', 'ACC'=>'Accounting', 'FIN'=>'Finance');
$this->render('nama_viewnya', array(
'model'=>$model,
'listJenisDokumen'=>$listDoc,
'listDepartemen'=>$listDept,
));
...
Wah lengkap bgt penjelasannya, hehe
Oh begitu pak, itu controller nya yang untuk create atau buat controller baru…?
Trims pak.
Wah ternyata datalist nya bisa langsung di dalam dropdownlistnya pak. Seperti ini :
...
<tr>
<td><?php echo $form->labelEx($model,'kd_jenisdokumen'); ?></td>
<td><?php echo $form->dropDownList($model,'kd_jenisdokumen',CHtml::listData(MsJenisdokumen::model()->findAll(),'kd_jenisdokumen','deskripsi'),array('id'=>'cbo-jenis-dokumen'));?>
</td>
<td><?php echo $form->error($model,'kd_jenisdokumen'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'kd_departemen'); ?></td>
<td><?php echo $form->dropDownList($model,'kd_departemen',CHtml::listData(MsDepartemen::model()->findAll(),
'kd_departemen','deskripsi'), array('id'=>'cbo-departemen')); ?>
</td>
<td><?php echo $form->error($model,'kd_departemen');
?></td>
</tr>
...
Makasih pak. Mantap !
dmukadar
(Daudmukadar)
February 12, 2014, 6:58am
5
Wah lengkap bgt penjelasannya, hehe
Oh begitu pak, itu controller nya yang untuk create atau buat controller baru…?
Trims pak.
Wah ternyata datalist nya bisa langsung di dalam dropdownlistnya pak. Seperti ini :
Makasih pak. Mantap !
…
manggilnya cukup di controller yg ngeload view itu pak,
langsung dari view juga bisa, tapi ndak disarankan, di konsep MVC yg baik, view isinya hanya kode HTML atau seminimal mungkin kode PHP yg berhubungan dengan tampilan (contoh: if ganjil bgcolor: biru else bgcolor: putih)
senang bisa membantu