Yii 根据单选按钮选择设置下拉列表的选项

Yii 根据单选按钮选择设置下拉列表的选项,yii,yii2,Yii,Yii2,我有一个表单,其中包含一个下拉字段。下拉选项基于单选按钮选择 单选按钮 <?php $list=array("1"=>"Assign to Department","2"=>"Assign to user"); echo $form->field($model, 'option')->radioList($list, [ 'template' => '{input}{label}', // put the label

我有一个表单,其中包含一个下拉字段。下拉选项基于单选按钮选择

单选按钮

<?php
    $list=array("1"=>"Assign to Department","2"=>"Assign to user");
    echo $form->field($model, 'option')->radioList($list,
    [ 
        'template' => '{input}{label}', // put the label behind
    ]);
?>
剧本

<script>
    $('input[type=radio]').click(function(){

        var Flag=this.value;
        if(Flag=='1') {
            '<?php $items= ArrayHelper::map($company->Users, 'id', 'fullname');?>';
        } else if(Flag=='2') {
            '<?php $items= ArrayHelper::map(Department::find()->all(), 'dep_id', 'name'); ?>';
        }
        alert(Flag);
    });
</script>
降落

<?php
    echo $form->field($model, 'assignee')
        ->dropDownList(
            $items,           // Flat array ('id'=>'label')
            ['prompt'=>'']    // options
        )->label('');
?>
预期响应是根据下拉选择更改选项值。但即使单选按钮的标志值不同,并且单击时更改,该响应也不会更改


有什么想法吗?

我试过一个样本,效果很好-

<?php
    $items1 = range(0, 5);    //PHP Array 1
    $items2 = range(5, 10);   //PHP Array 2
?>

<script>
    var arr1 = <?php echo json_encode($items1); ?>;  //Javascript Array 1
    var arr2 = <?php echo json_encode($items2); ?>;  //Javascript Array 2

    $(document).ready(function() {
        $('input[type=radio]').click(function(){
            var Flag = this.value;
            setDropdown(Flag);
        });
    });

    function setDropdown(Flag) {
        var elem = $('#Skill_order_no'); //Your dropdown element name.
        if(Flag == '1') {
            elem.empty();
            $.each(arr1, function(index, value) {
                 elem.append($('<option>').text(value).attr('value', value));
            }); 
        } else if(Flag == '2') {
            elem.empty();
            $.each(arr2, function(index, value) {
                 elem.append($('<option>').text(value).attr('value', value));
            }); 
        }
    }
</script>

PHP代码正在运行。除了在脚本中,我没有在页面的任何地方定义$items。但是我没有得到任何错误。是的,我的错误。那代码肯定会有用的。只需在页面加载时设置$items PHP变量,下拉菜单将获得初始数组。这是一个想法-您可以创建两个单独的javascript数组,并从PHP数组中为其设置值。创建一个公共javascript函数,在onclick函数中,将所选单选按钮传递给公共函数。此常用函数可以相应地将选项设置为下拉列表。@kunaldeshe谢谢kunal@库纳尔……我一定会尽力让你不要的-