A lo que me referia con:
se llene todo sin filtrarlo
Es que si uso el parámetro ‘data’ para cargar los clientes, carga la tabla completa de clientes, en lugar de filtrarla por el municipio seleccionado.
Respecto al codigo que me pones de ejemplo, me guie por el y aun sin exito
Quizas el problema lo tenga en la accion que me debe traer los datos, este es mi codigo
<?= $form->field($model, 'IDMUNIC')->dropDownList(
ArrayHelper::map(\backend\models\NomMunicipios::find()->orderBy('Municipio')->all(), 'IdMunic', 'Municipio'),
['prompt' => 'Seleccione el Municipio ...',]
);
?>
<?=
$form->field($model, 'IDCLIENTE')->widget(DepDrop::classname(), [
// 'data'=>ArrayHelper::map(Clientes::find()->orderBy('NombreCliente')->all(), 'IdCliente', 'NombreCliente', 'mUNIC.Municipio'),
'type' => DepDrop::TYPE_SELECT2,
'options'=>['IdCliente'=>'NombreCliente'],
'pluginOptions'=>[
'initialize' => true,
'depends'=>['contrato-idmunic'],
'placeholder'=>'Seleccione un cliente ...',
'url'=>Url::to(['getclientes']),
'loadingText' => 'Cargando clientes...',
]
]);
?>
Esta es la accion ‘getclientes’
public function actionGetclientes() {
$out = [];
if (isset($_POST['depdrop_parents'])) {
$parents = $_POST['depdrop_parents'];
if ($parents != null) {
$id = $parents[0];
// $out = Contrato::Listaclientes($id);
$out = Clientes::find()->where('IDMUNIC = :id',[':id'=>$id])->all();
echo Json::encode(['output'=>$out, 'selected'=>'']);
return;
}
}
echo Json::encode(['output'=>'', 'selected'=>'']);
echo var_dump($out);
}
Tendré algo mal aqui?
Puede ser que no me este creando bien el Json, pues el DepDrop se queda en cargando clientes … y no carga ninguno.