Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让用户在yii2中隐藏和取消隐藏表单中的几个下拉列表_Javascript_Jquery_Yii2_Yii2 Advanced App_Yii2 Basic App - Fatal编程技术网

Javascript 如何让用户在yii2中隐藏和取消隐藏表单中的几个下拉列表

Javascript 如何让用户在yii2中隐藏和取消隐藏表单中的几个下拉列表,javascript,jquery,yii2,yii2-advanced-app,yii2-basic-app,Javascript,Jquery,Yii2,Yii2 Advanced App,Yii2 Basic App,我正在尝试创建一个搜索表单,希望表单中隐藏一些dropdownlist字段。如果用户选择,他们可以取消隐藏它(如高级搜索选项)。在yii2中有没有办法做到这一点?还是必须像javascript或jquery那样使用 还有一种方法可以定义下拉列表字段的大小。我知道如果你用 textInput([style'=>'width:100px']); 这将为输入文本字段指定一个单词,但对于下拉字段又如何呢 <?php $form = ActiveForm::begin([ 'id' =&

我正在尝试创建一个搜索表单,希望表单中隐藏一些dropdownlist字段。如果用户选择,他们可以取消隐藏它(如高级搜索选项)。在yii2中有没有办法做到这一点?还是必须像javascript或jquery那样使用

还有一种方法可以定义下拉列表字段的大小。我知道如果你用

textInput([style'=>'width:100px']); 
这将为输入文本字段指定一个单词,但对于下拉字段又如何呢

<?php 
$form = ActiveForm::begin([
'id' =>'-search-form-inline',
'formConfig'=>['showlabels' =>false],
'type'=> ActiveForm::TYPE_INLINE
]); 
?>
<div>
  <?php 
    echo $form->field($model, 'spec')
    ->dropDownList(
        $specialities,    
        ['prompt'=>'Any Speciality']  
    )->label('Speciality');
  ?>

  <?php 
    echo $form->field($model, 'zipcode')
    ->textInput(['maxlength'=>10,'style'=>'width:100px']);
  ?>
</div>

  <?php 
    echo $form->field($model, 'proc')
    ->dropDownList(
        $procedures,   
        ['prompt'=>'Any Procedures / Tests']  
    )->label('Procedures/Tests');
  ?>

  <?php echo $form->field($model, 'minc')
    ->dropDownList(
        $mincash,      
        ['prompt'=>'Any Min']   
    )->label('Minimum')
     ->Input(['maxlength'=>10,'style'=>'width:100px']);
  ?>

  <?php echo $form->field($model, 'maxc')
    ->dropDownList(
        $maxcash,       
        ['prompt'=>'Any Max']   
    )->label('Maximum');
  ?>

这是第一个例子。这里我们使用默认情况下隐藏的容器div

<?php
$this->registerJs("
    $('#extended-search-lnk').on('click', function(e){
        e.preventDefault();
        $('#extended-search').toggle();
    })
");
?>
<a href="#" id="extended-search-lnk">Extended Search</a>
<div id="extended-search" style="display: none;">
  <?php echo $form->field($model, 'minc')
    ->dropDownList(
        $mincash,      
        ['prompt'=>'Any Min']   
    )->label('Minimum')
     ->Input(['maxlength'=>10,'style'=>'width:100px']);
  ?>
</div>

<?php
$minc_attr_id = Html::getInputId($model, 'minc');

$this->registerJs("
    $('#extended-search-lnk').on('click', function(e){
        e.preventDefault();
        $('#".$minc_attr_id."').toggle();
    })
");
?>
<a href="#" id="extended-search-lnk">Extended Search</a>
<?php echo $form->field($model, 'minc')
  ->dropDownList(
      $mincash,      
      ['prompt'=>'Any Min']   
  )->label('Minimum')
   ->Input(['maxlength'=>10,'style'=>'width:100px']);
?>