1

我有以下代码:

<div class="form-group">
    <?= $form->labelEx($model, 'membership', array('class' => 'col-xs-12 col-sm-4 control-label')) ?>
    <div class="col-xs-12 col-sm-3">
        <?= $form->dropDownList($model, 'membership', array(Yii::t('member', 'Yes'), Yii::t('member', 'MO')), array(
                'class' => 'form-control',)); ?>

    </div>
    <?= $form->error($model, 'membership') ?>
</div>

<div class="col-xs-12 col-sm-3">
    <?= $form->textField($model, 'question', array('class' => 'form-control dotted')) ?>
    <?= $form->error($model, 'question') ?>
</div>

当用户从下拉菜单中选择“否”选项时,我需要开发一个重置 textField 的 JavaScript 文件。我该怎么做?

4

5 回答 5

1
$( "selector_class_or_id" ).change(function() {

var selected_value = $(this).val();

if(selected_value === 'NO'){
   $("textField_class_or_id").val('');
}
});
于 2016-10-04T07:28:24.477 回答
1

尝试这个:

// for Id selector
document.getElementById('element_id').value = '';

// for class selector
document.getElementsByClassName("element_class").value = '';
于 2016-10-04T07:19:39.830 回答
1

首先添加 onchange 函数<select>为:

<?=$form->dropDownList($model, 'membership', array(Yii::t('member', 'Yes'), Yii::t('member', 'MO')), 
array('class' => 'form-control','onchange'=>'getAlert(this.value)')); ?>

比在 javascript 中:

<script type="text/javascript">
  function getAlert(value){
    if(value == 'No'){
      document.getElementsByName("membership").value = '';
    }
  }
</script>

YII 参考

于 2016-10-04T07:27:26.463 回答
1

你可以创建像

function myFunction(val) { 
    if(val=='NO') 
    { 
        document.getElementById('element_id').value = ''; 
    } 
} 

并这样称呼它: <select onchange="myFunction(this.value)">

于 2016-10-04T07:24:39.407 回答
1

试试JS/JQuery。中应用onchange函数dropdown。在函数中检查选定的值,如果为 NO,则使用 id 清空文本字段

以下text_field_id是您的文本字段的 ID

<?= $form->dropDownList($model, 'membership', array(Yii::t('member', 'Yes'), Yii::t('member', 'MO')), array(
                'class' => 'form-control','onchange'=>'validate(this.value)')); ?>


<script type="text/javascript">
        function validate(value)
        {
            if(value == 'NO') {
           document.getElementById('text_field_id').value = '';

          }
        }
    </script>
于 2016-10-04T07:25:01.400 回答