У меня возникли проблемы с кодом ниже. Хотя я могу сохранить значение «Автомобиль», я не могу сохранить ценность для «Других». Значение «Другое» задано как текстовое поле, в то время как «Автомобиль» предопределен.Yii 1.1 - раскрывающееся меню с расширенным текстовым полем
Любая помощь будет принята с благодарностью.
<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>
Я также пробовал следующий код, который не имеет успеха.
<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>
Этот код сохранит только вход «Другие», но не «Автомобиль».
спасибо.
Сумел создать обходной путь, добавив еще одно поле и вставки отдельно. – Enthu