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

Я хотел бы объединить выпадающий список для Country с ajax, заполненным Typeahead для State, но я изо всех сил. Я использую виджет 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)});

});
']);
?>
<?phpecho $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()')

0

Решение

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

0

Другие решения

Других решений пока нет …