Multiple Dropdownlist dalam Yii

Posted: 24 January, 2014 in php, programming

Salam semua kepada pembaca blog ini. Alhamdulillah dah masuk tahun baru dah kita, semoga semangat baru dapat menyemarakkan prestasi dan sumbangan kita pada agama, bangsa dan negara. Cewah. Awal tahun ni aku disibukkan dengan tugas tugas yang memang sangat-sangat memeningkan kepala, nak buat macam mana, nak tak nak kena hadap jugak kan. Hehehe.

Untuk awal tahun ni, aku ada nak buat satu Sistem Dashboard ICT JHEAINS, dalam sistem ini ada beberapa modul kecil yang akan dikembangkan dari masa ke semasa mengikut keperluan. Buat masa ni aku bercadang nak buat modul pinjaman peralatan ICT, modul aduan kerosakan ICT dan modul permohonan email rasmi jabatan.

Paparan Sistem Dashboard ICT JHEAINS

Paparan Sistem Dashboard ICT JHEAINS

Buat masa ni aku tengah cuba siapkan Modul Pinjaman Peralatan dulu. Berikut adalah paparan Borang Permohonan Pinjaman Peralatan yang di isi oleh pengguna.

Borang Permohonan Pinjaman Peralatan

Borang Permohonan Pinjaman Peralatan

Kat bawah ni ada satu set dropdownlist. Bila pengguna memilih Jenis Peralatan, dropdownlist yang lain akan update valuenya secara automatik.

Multiple dropdownlist

Multiple dropdownlist

Berikut adalah code yang aku gunakan untuk tujuan ni.

Untuk form

<td bgcolor="#FFFFA8">Jenis Peralatan</td>
<td colspan="3" bgcolor="#FFFFA8">
<?php
echo $form->dropDownList($model,'jenis_peralatan',
CHtml::listData(JenisPeralatan::model()->findAll(),'kategori','kategori'),

array(
    'empty'=>'Pilih Kategori',
    'ajax' => array(
    'type' => 'POST',
    'url' => CController::createUrl('PermohonanPinjaman/namaperalatan'),
    'dataType'=>'json',
    'data'=>array('namaperalatan'=>'js:this.value'),

   'success'=>'function(data) {
$("#PermohonanPinjaman_jenis_perkakasan_1").html(data.dropDownPeralatan);
$("#PermohonanPinjaman_jenis_perkakasan_2").html(data.dropDownPeralatan);
$("#PermohonanPinjaman_jenis_perkakasan_3").html(data.dropDownPeralatan);
$("#PermohonanPinjaman_jenis_perkakasan_4").html(data.dropDownPeralatan);
$("#PermohonanPinjaman_jenis_perkakasan_5").html(data.dropDownPeralatan);
$("#PermohonanPinjaman_jenis_perkakasan_6").html(data.dropDownPeralatan);
   }',
)
));
?>

</td>
</tr>
<tr>
<tr>
<td bgcolor="#FFFFD7">Jenis Perkakasan</td>
<td bgcolor="#FFFFD7">
<?php
echo $form->dropDownList($model,'jenis_perkakasan_1',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>

<td bgcolor="#FFFFD7">Bilangan Unit</td>
<td bgcolor="#FFFFD7">
<?php echo $form->textField($model,'unit_perkakasan_1',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>

<tr>
<td bgcolor="#FFFFA8">Jenis Perkakasan</td>
<td bgcolor="#FFFFA8">
<?php
echo $form->dropDownList($model,'jenis_perkakasan_2',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>

<td bgcolor="#FFFFA8">Bilangan Unit</td>
<td bgcolor="#FFFFA8">
<?php echo $form->textField($model,'unit_perkakasan_2',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>
<tr>

<td bgcolor="#FFFFD7">Jenis Perkakasan</td>
<td bgcolor="#FFFFD7">
<?php
echo $form->dropDownList($model,'jenis_perkakasan_3',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>
<td bgcolor="#FFFFD7">Bilangan Unit</td>
<td bgcolor="#FFFFD7">
<?php echo $form->textField($model,'unit_perkakasan_3',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>

<tr>
<td bgcolor="#FFFFA8">Jenis Perkakasan</td>
<td bgcolor="#FFFFA8">
<?php echo $form->dropDownList($model,'jenis_perkakasan_4',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>
<td bgcolor="#FFFFA8">Bilangan Unit</td>
<td bgcolor="#FFFFA8">
<?php echo $form->textField($model,'unit_perkakasan_4',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>

<tr>
<td bgcolor="#FFFFD7">Jenis Perkakasan</td>
<td bgcolor="#FFFFD7">
<?php echo $form->dropDownList($model,'jenis_perkakasan_5',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>
<td bgcolor="#FFFFD7">Bilangan Unit</td>
<td bgcolor="#FFFFD7">
<?php echo $form->textField($model,'unit_perkakasan_5',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>

<tr>
<td bgcolor="#FFFFA8">Jenis Perkakasan</td>
<td bgcolor="#FFFFA8">
<?php echo $form->dropDownList($model,'jenis_perkakasan_6',array(),array('prompt'=>'Pilih Perkakasan'));
?>
</td>
<td bgcolor="#FFFFA8">Bilangan Unit</td>
<td bgcolor="#FFFFA8">
<?php echo $form->textField($model,'unit_perkakasan_6',array('class'=>'span1','maxlength'=>1)); ?>
</td>
</tr>

Untuk controller

public function actionNamaperalatan()
{

$data=JenisPeralatan::model()->findAllByAttributes(array('kategori'=>$_POST['namaperalatan']));

$data=CHtml::listData($data,'jenis_perkakasan','jenis_perkakasan');

    $dropDownPeralatan = "";
        foreach($data as $value=>$name)
        {
           $dropDownPeralatan .= CHtml::tag('option',
           array('value'=>$value),CHtml::encode($name),true);
        }
    echo CJSON::encode(array(
    'dropDownPeralatan'=>$dropDownPeralatan
    ));

}

Ok lah buat masa ni. Insya Allah ada masa nanti aku update lagi blog ni yer.

Happy h4ckin dari pokcik gh1mau 🙂
210166.strip

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s