Yii2 - 基于 dropDownList 显示表单字段
Yii2 - Show form fields based on dropDownList
我有以下下拉列表
<?= $form->field($model, 'moradaalternativa')
->dropDownList(
[
'Não' => 'Não',
'Sim' => 'Sim'],
['prompt'=>'Faça a sua escolha'],
);
?>
我想做的是:
如果值为 = Sim,则被 css class 隐藏的其他一些表单域显示在 dropDownList 下方,如果值为 = Não,则表单域再次从页面隐藏.
我知道有一个 'onchange' 属性 像 javascript 但我不知道如何将它应用到这种效果,或者即使我需要使用它。
有什么想法吗?
很简单,你只需要:
$(document).ready(function () {
$(document.body).on('change', '#your-id', function () {
var val = $('#your-id').val();
if(val > 0 ) {
$('.class').hide();
} else {
$('.class').show();
}
});
});
并根据需要更改名称。对于 Yii2 你可以包装它,然后你可以把代码放在一个视图文件中但是最好把它放在一个 JS 文件中:
<?php
$script = <<< JS
code here
JS;
$this->registerJs($script);
?>
我有以下下拉列表
<?= $form->field($model, 'moradaalternativa')
->dropDownList(
[
'Não' => 'Não',
'Sim' => 'Sim'],
['prompt'=>'Faça a sua escolha'],
);
?>
我想做的是: 如果值为 = Sim,则被 css class 隐藏的其他一些表单域显示在 dropDownList 下方,如果值为 = Não,则表单域再次从页面隐藏.
我知道有一个 'onchange' 属性 像 javascript 但我不知道如何将它应用到这种效果,或者即使我需要使用它。
有什么想法吗?
很简单,你只需要:
$(document).ready(function () {
$(document.body).on('change', '#your-id', function () {
var val = $('#your-id').val();
if(val > 0 ) {
$('.class').hide();
} else {
$('.class').show();
}
});
});
并根据需要更改名称。对于 Yii2 你可以包装它,然后你可以把代码放在一个视图文件中但是最好把它放在一个 JS 文件中:
<?php
$script = <<< JS
code here
JS;
$this->registerJs($script);
?>