下载javascript onload

时间:2015-11-17 12:31:33

标签: javascript jquery html drop-down-menu yii2

我有一个下拉菜单,它有一个onchange功能。执行该功能后,它会更改另一个下拉菜单。 我需要这样做才能执行脚本onload。

第一次下拉:

echo $form->field($model, 'company_id')->dropDownList($items_company, ['prompt' => 'Select Company', 'style' => 'width:400px;', 'onchange' => '
            $.post("index.php?r=project/lists&id=' . '"+$(this).val(), function( data ) {
            $( "select#project-client" ).html( data );
            console.log("On change");
            console.log(data);
            });

        ',])->label('Company');

第二次下拉:

echo '<label class="control-label">Company Client</label>';
echo Select2::widget([
'model' => $model,
'attribute' => 'client',
'theme' => Select2::THEME_BOOTSTRAP,
'options' => [ 'label' => 'Client',
    'multiple' => true, 'style' => 'width:400px;', 'overwriteInitial' => true],
'pluginOptions' => [
    'disabled' => false,
],
]);

这就是我的尝试:

$(document).ready(function () {
    var currentProjectCompany = $('#project-company_id').val();
    $.post("index.php?r=project/lists&id=' . '" + currentProjectCompany, function (data) {
        $("select#project-client").html(data);
        console.log("Company ID:");
        console.log(currentProjectCompany);
        console.log("Clients");
        console.log(data);
    });
});

2 个答案:

答案 0 :(得分:1)

将onchange代码移动到它自己的函数中(无论如何它应该存在),并在ready()函数中执行该函数。

这样就会触发onchange和onload。

答案 1 :(得分:0)

我会检查我的代码,它可以帮助你。但我使用ajax和jquery。

对于冷杉下拉。

echo $form->dropDownListGroup(
                    $model 'id', array(
                'wrapperHtmlOptions' => array(),
                'widgetOptions' => array(
                    'data' => abc::getName($model->id),
                    'htmlOptions' => array(
                        'prompt' => 'Select Project',
                        'ajax' => array(
                                'type' => 'POST',
                                'url' =>  ( Yii::app()->createUrl('/' . $domain_name . '/qq/xyz/abc') ),
                                'update' => '#seconddropdownid',
                                //'dataType' => 'json',
                                'data'=>array('id'=>'js:this.value'),

                              )
                            ),
                        ),
              )
            );

在第二个下拉列表中:

 echo $form->dropDownListGroup(
                $project, 'tag', array(
            'wrapperHtmlOptions' => array(),
            'widgetOptions' => array(
                'data' =>$this->getProjectTags(),
                'htmlOptions' => array(
                    'prompt' => 'Select Tags',
                ),
            )
                )
        );

在更改第二个列表时,您可以更新yii的列表视图。