Question

I am stuck in a place in Yii. I have two drop Down box, second is dependent on the first. In this first drop Down, I have many options. By referring to these options, I must decide whether the second box must be a drop Down or a text Field. I have uploaded My code here. Please help me solving this. Thanks in advance.

My View:

<td>
        <?php echo $form->labelEx($model,'cm_classification_id'); ?>        
        <?php echo $form->dropDownList($model,'cm_classification_id', CHtml::listData(masterClassification::model()->findAll(array('order' => 'cm_classification_id ASC', 'condition'=>'cm_classification_type=:type', 'params'=>array('type'=>'initiate'))), 'cm_classification_id', 'cm_classification_name'),  array('empty'=>'Select classification')); ?>
        <?php echo $form->error($model,'cm_classification_id'); ?>

    </td>

<td>
    <label>Change Description <span class="required" id="desc_req_note" style="display:none;">*</span></label>
    <?php echo $form->dropDownList($model,'cm_description',array(),array('empty'=>'Select Change Description')); ?>
    <?php echo $form->error($model,'cm_description'); ?>
 </td>

based on the change classification, I must decide where Change Description must be a drop Down or a text field. This must be done using Javascript.

Was it helpful?

Solution

Have you tried this -

  1. Change the code to -

<label>Change Description <span class="required" id="desc_req_note" style="display:none;">*</span></label>

<span id="cm_desc_select" style="display:none;"><?php echo $form->dropDownList($model, 'cm_description', array(), array('empty'=>'Select Change Description')); ?></span>

<span id="cm_desc_input" style="display:none;"><?php echo $form->textField($model,'cm_description'); ?></span>

<?php echo $form->error($model,'cm_description'); ?>

2.
$('#cm_classification_id').change(function() { var val = $(this).val(); var cm_desc_select_elem = $('#cm_desc_select'); var cm_desc_input_elem = $('#cm_desc_input'); if(val === COMPARE_WITH_YOUR_VALUE) { $(cm_desc_select_elem).show(); } else { $(cm_desc_input_elem).show();
} });

I hope is helps for a quick fix.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top