2016-06-20 7 views
0

Ich habe Probleme mit dem unten stehenden Code. Während ich den Wert von "Auto" speichern kann, kann ich keinen Wert für "Andere" speichern. Der Wert "Andere" wird als Textfeld festgelegt, während "Auto" vordefiniert wurde.Yii 1.1 - Dropdown mit erweitertem Textfeld Option

Jede Hilfe wird sehr geschätzt.

<div class="row"> 
      <?php echo $form->labelEx($model,'transport_allowance'); ?> 
      <?php echo $form->dropDownList($model,'transport_allowance',array('Car'=>'Car','Others'=>'Others'),array('onchange'=>'return muFun(this.value)')); ?> 
      <?php echo $form->error($model,'transport_allowance'); ?> 
</div> 


<div id="others" style="display:none"> 
      <div class="row"> 
      <?php echo $form->labelEx($model,'transport_allowance'); ?> 
      <?php echo $form->textField($model,'transport_allowance'); ?> 
      <?php echo $form->error($model,'transport_allowance'); ?> 
      </div>  
</div> 

<div id="car" style="display:none"> 
      <div class="row"> 
      <?php echo $form->hiddenField($model,'transport_allowance',array('value'=>'450')); ?> 
      </div>  
</div> 

<script> 
function muFun(obj){ 
      if(obj=="Car"){ 
      document.getElementById('car').style.display="block"; 
      document.getElementById('others').style.display="none"; 
      }else if(obj=="Others"){ 
      document.getElementById('others').style.display="block"; 
      document.getElementById('car').style.display="none"; 
      } 
    } 
</script> 

Ich habe auch den folgenden Code ausprobiert, ohne Erfolg.

<div class="row"> 
      <?php echo $form->labelEx($model,'transport_allowance'); ?> 
      <?php echo $form->dropDownList($model,'transport_allowance',array(''=>'Select','600'=>'Car','Others'=>'Others'),array('onchange'=>'return muFun(this.value)')); ?> 
      <?php echo $form->error($model,'transport_allowance'); ?> 
</div> 

<div id="others" style="display:none"> 
      <div class="row"> 
      <?php echo $form->labelEx($model,'transport_allowance'); ?> 
      <?php echo $form->textField($model,'transport_allowance'); ?> 
      <?php echo $form->error($model,'transport_allowance'); ?> 
      </div>  
</div> 

<script> 
function muFun(obj){ 
      if(obj=='Others'){ 
      document.getElementById('others').style.display="block"; 
      }else{ 
      document.getElementById('others').style.display="none"; 
      } 
    } 
</script> 

Dieser Code speichert nur 'Andere' Eingabe, aber nicht 'Auto'.

Vielen Dank.

+0

Managed eine Abhilfe zu schaffen, indem ein anderes Feld und Einfügen separat hinzufügen. – Enthu

Antwort

0

Es gibt einige Fehler in Ihrem Code versuchen Sie bitte die folgenden Code

<div class="row"> 
     <?php echo $form->labelEx($model,'transport_allowance'); ?> 
     <?php echo $form->dropDownList($model,'transport_allowance',array('Car'=>'Car','Others'=>'Others')); ?> 
     <?php echo $form->error($model,'transport_allowance'); ?> 
    </div> 
    <div id="others" style="display:none"> 
      <div class="row"> 
       <?php echo $form->labelEx($model,'transport_allowance'); ?> 
       <?php echo $form->textField($model,'transport_allowance'); ?> 
       <?php echo $form->error($model,'transport_allowance'); ?> 
      </div>  
    </div> 
    <div id="car" style="display:none"> 
     <div class="row"> 
      <?php echo $form->hiddenField($model,'transport_allowance',array('value'=>'450')); ?> 
     </div>  
    </div> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#Vehicle_transport_allowance").change(function() { 
       if ($(this).val() == 'Car') { 
        $('#car').show(); 
        $('#others').hide();      
       } else { 
        $('#others').show(); 
        $('#car').hide(); 
       } 
     }); 
    }); 
</script> 
Verwandte Themen