选中复选框时显示文本框

时间:2018-10-12 04:13:07

标签: javascript yii2

我正在尝试选中复选框时显示文本框。但是我不知道如何使用Yii2来实现它。这是我的代码:

_form.php

<?= $form->field($model, 'status')->checkbox(['uncheck' => false],array('id'=> 'myCheck','onclick'=>'myFunction()'))->label('Has passed away?'); ?>

<div id="text" style="display: none">

    <?=$form->field($model, 'date_of_decease')->widget(DatePicker::classname(), [
            'options' => ['placeholder' => 'Enter decease date'],
            'pluginOptions' => [
                'autoclose'=> true,
                'format' => 'yyyy-mm-dd'
            ]
    ]); ?>

</div>

<script>
function myFunction() {
    var checkBox = document.getElementById("myCheck");
    var text = document.getElementById("hiddenDiv");
    if (checkBox.checked == true){
        text.style.display = "block";
    } else {
       text.style.display = "none";
    }
}
</script

javascript位于_form.php中。

1 个答案:

答案 0 :(得分:0)

尝试将onClick更改为'onchange'=>'myFunction()'

function myFunction() {
    var checkBox = document.getElementById("myCheck");
    var text = document.getElementById("hiddenDiv");
    if (checkBox.checked == true){
        text.style.display = "block";
    } else {
       text.style.display = "none";
    }
}
<input type="text" name="text_name" style="display:none" id="hiddenDiv">

<input type="checkbox" name="checkbox_name" onchange="myFunction();" id="myCheck">

相关问题