Yii2 Комбинируйте выпадающий вал с kartik typeahead

Я хотел бы объединить выпадающий список для страны с заполненным ajax Typeahead для штата, но я изо всех сил. Я использую виджет kartik typeahead для Yii2. Я пытался уничтожить экземпляр и воссоздать его, однако он не заполняется данными, см. Ниже.

<?php //country field
                $datacountry = \app\helper\countries::getCountries();
                echo $form->field($client, 'country')->dropDownList($datacountry, ['prompt' => '-Choose a Country-',
                    'onchange' => '$("#county").val("");
            $.post( "' . Url::to(['/state-search?country=']) . '"+$(this).val(), function( data ) {
               $("#county").typeahead("destroy");                 
                $("#county").typeahead({local: JSON.parse(data)});

            });
        ']);
                ?>
<?php


                echo $form->field($client, 'county')->widget(kartik\typeahead\Typeahead::className(), [

                    'options' => ['placeholder' => 'Filter as you type ...','id'=>'county'],
                    'dataset' => [
                        [
                            'local' => [''],
                            'limit' => 10,

                            'datumTokenizer' => "Bloodhound.tokenizers.obj.whitespace('value')",
                            'cache' => false,
                            'display' => 'value',
                            'templates' => [
'suggestion' => new JsExpression("Handlebars.compile('{$template}')")
                            ]
                        ]
                    ],                        
                ]);
                    ?>

В качестве альтернативы я могу передать переменную js в удаленный API для ищейки?

 'remote' => [
                                    'url' => Url::to(['county-search']) . '?q=%QUERY',
                                    'wildcard' => '%QUERY'
                                ],

например

 new JsExpression('$("#client-country").val()')

1 ответ

Может быть, вы должны использовать виджет select2? Там вы можете увидеть некоторые демонстрации http://demos.krajee.com/widget-details/select2

Другие вопросы по тегам