我想在从下拉列表中选择的特定值之后显示Textarea



我有一个问题..我有一个包含一个有很多值的下拉列表

的表格

我想要当用户从下拉文本中选择特定值时,我立即显示。我知道我必须使用JavaScript,但我不知道

如何

这是我的代码:

<div class="row">
    <?php echo $form->labelEx($model,'type'); ?>
    <?php echo $form->dropDownList($model,'type',$model->getTypeOptions()); ?>
    <?php echo $form->error($model,'type'); ?>
</div>
<div class="row">
    <?php echo "<b>Data</b> : <i> Use WhiteSpaces or , to enter values</i> "; ?><br/>
    <?php echo $form->textArea($model, 'data', array('rows'=>10, 'cols'=>50)); ?>
    <?php echo $form->error($model, 'data'); ?>
</div>

我只想在用户选择值时显示此textarea(ex:Checkboxtlist中的下拉列表)

我搜索并在

中发现
$form->dropDownList($model,'type',$model->getTypeOptions());

我们可以在下拉列表内部的数组参数..但是我真的不知道在此数组中要写什么

有帮助吗?

喜欢下面:

<?php echo $form->dropDownList($model,'type',$model->getTypeOptions(),array('id'=>'myDropDown')); ?>
<?php echo $form->textArea($model, 'data', array('rows'=>10, 'cols'=>50,'id'=>'myTextArea')); ?>

现在,您需要的是创建AJAX请求。

<script>
$('#myDropDown').on('change', function() {
    $.ajax({
        url: "<?php echo $this->createUrl('controller/test'); ?>",
        dataType: 'html',
        type: 'POST',
        data: {dropDownValue: $(this).val()},
        success: function(data, textStatus, jqXHR) {
            $('#myTextArea').val(data);
        }‌
    });
});

请注意,测试是您控制器中的一个动作。(替换为您自己的名称)。

然后,创建动作:

public function actionTest() {
    if (Yii::app()->request->isAjaxRequest) {
        $dropDownValue = Yii::app()->request->getPost('dropDownValue');
        if ($dropDownValue === 'A VALUE YOU WANT TO COMPARE WITH') {
            echo 'SOME THING YOU WANT';
        }
        Yii::app()->end();
    }
}

要了解更多信息,我们说,如果下拉值更改,请致电AJAX请求以将下拉值发送到服务器。然后,如果我们的价值是我们想要的,我们将做点什么。最后,在成功函数中,这意味着Ajax成功返回了响应,我们使用发送给我们的服务器(test Action)更改文本方面的价值。

相关内容

最新更新