Skip to main content

Yii2 . FORM How to make dependant drop down. Where second drop downs values are dependant on first drop down selection

In form file :



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?= $form->field($model, 'country_id')->dropDownList(["5"=>'USA', "6"=>"Pakistan"],
        ['prompt'=>'Select Country',
            'onchange'=>'
                $.get( "'.\yii\helpers\Url::toRoute('/site/getstates').'", { id: $(this).val() } )
                      .done(function( data ) {
                                $( "#'.Html::getInputId($model, 'state_id').'" ).html( data );
                            }
                        );
            ','class' => 'form-control'
        ]
    ); ?>
    <?= $form->field($model, 'state_id')
        ->dropDownList(
            [
                'prompt'=>'Select State',
            ]
        );
    ?>





In siteController.php file add a function like below:




public function actionGetstates($id){
        $states = StateProvince::find()->where(
            [
                'country_id'=>$id
            ]
        )->all();

        $returnStr = "";
        foreach ($states as $state){
            $returnStr.="<option value='{$state->state_id}'>{$state->name}</option>";
        }

        return $returnStr;
    }


Popular posts from this blog

yii, recursive function to create category sub category hierarchy

Create this function in the category model file: ---------------------------------------------------------------------------------  <?php public function get_category_hr ( $cat_id , $selected_cat_id , $level_string ) { $select_str = '' ; if ( ! $level_string ) { $level_string = '' ; } if ( $cat_arr = $this -> findAll ( 'category_parent_id=' . $cat_id )) { foreach ( $cat_arr as $cat ) { $select_str .= "<option value= { $cat -> category_id } " ; if ( $selected_cat_id == $cat -> category_id ) $select_str .= ' selected' ; $select_str .= "> { $level_string }{ $cat -> category_name } </option>" ; $select_str .= $this -...

yii, Executing a SQL without calling a Model

yii, Executing a SQL without calling a Model <? $connection = Yii :: app () -> db ; $sql = "SELECT id,username FROM users" ; $command = $connection -> createCommand ( $sql ); $dataReader = $command -> query (); $rows = $dataReader -> readAll (); print_r ( $rows ); ?>

mysql, import sql file from command line

Method 1: A quick way to duplicate MySQL databases is to do the following: Step 1 : Dump the database either through PHPMyAdmin’s export form or through mysqldump (as I mentioned above). Note (usually, it’s mysqldump <database-name> -h<hostname> -u<username> -p<password> if you ommit the -h switch it will default to “localhost”). After you enter the command below and press enter, you will be prompted for a password because you did not enter the password after the -p switch. $ mysqldump <database-name> -u<username> -p >> somedatabasetable.sql Step 2:  Once you have the sql file, log into mysql and create a database or “use” an existing database – again, ommiting the -h will default to localhost and you will be prompted for a password if you don’t enter a password after the -p switch. $ mysql -u<username> -p Step 3:  After logging in, you will need to either create a new database and select the database for use w...