Good morning all,
I want to disable/enable 2 textfields from selected dropdownlist using ajax.
this is my code
form.php
<div class="row">
<?php echo $form->labelEx($model,'id_pembayaran'); ?>
<?php
echo $form->dropDownList($model,'id_pembayaran',CHtml::listData(Pembayaran::model()->findAll(), 'id_pembayaran', 'jenis_pembayaran'),array('empty'=>'--Please Select One--'),
array(
'ajax'=>array(
'type'=>'POST',
'url'=>CController::createUrl('Transaksi/bts'),
'update'=>'#clause',
)));
?>
<?php echo $form->error($model,'id_pembayaran'); ?>
</div>
<div id="clause">
<?php $this->renderPartial('_form_clause', array('flag'=>$flag,'model'=>$model)); ?>
</div>
TransaksiController.php
public function actionBts()
{
$model=new Transaksi();
$cek=$_POST['id_pembayaran'];
//$cek=(int)Yii::app()->request->getParam('id_pembayaran');
if($cek==1||$cek==3||$cek==9||$cek==12||$cek==20||$cek==22||$cek==23||$cek==24||$cek==26){
$flag="3";
}
else if($cek==4||$cek==6||$cek==7||$cek==10||$cek==13||$cek==14||$cek==15||$cek==18||$cek==21||$cek==25){
$flag="2";
}
else if($cek==2||$cek==5||$cek==8||$cek==17){
$flag="1";
}
else{
$flag="0";
}
$this->renderPartial('_form_clause',array('flag'=>$flag,'model'=>$model), false, true);
}
_form_clause.php
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$form = $this->beginWidget('CActiveForm',array('id'=>'transaksi-form'));
if($flag=="0"){
echo $form->labelEx($model,'debet');
echo $form->textField($model, 'debet', array('readonly'=>'true')).'<br/>';
echo $form->labelEx($model,'kredit');
echo $form->textField($model, 'kredit', array('readonly'=>'true'));
}else if ($flag=="1"){
echo $form->labelEx($model,'debet');
echo $form->textField($model, 'debet').'<br/>';
echo $form->labelEx($model,'kredit');
echo $form->textField($model, 'kredit', array('readonly'=>'true'));
}else if ($flag=="2"){
echo $form->labelEx($model,'debet');
echo $form->textField($model, 'debet', array('readonly'=>'true')).'<br/>';
echo $form->labelEx($model,'kredit');
echo $form->textField($model, 'kredit');
}else if ($flag=="3"){
echo $form->labelEx($model,'debet');
echo $form->textField($model, 'debet').'<br/>';
echo $form->labelEx($model,'kredit');
echo $form->textField($model, 'kredit');
}
$this->endWidget();
?>
I’m so confused, why the results are the same (disable 2 textfield) no matter dropdownlist which I choose?
*sorry for my english