-1

我试图在选中复选框时显示文本框。但我不知道如何使用 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 中。

4

1 回答 1

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">

于 2018-10-12T04:34:37.557 回答