Estoy creando un dropdownlist dependiente y funciona correctamente, lo que deseo es que el segundo select no se cambien automáticamente a los valores que debe traer sino que quede en la ‘prompt’=>‘Selecionar…’
Modelo select 1
<?php $clientes=Clientes::find()->where(['idruta' => Yii::$app->user->identity->idruta])->all();
$listData=ArrayHelper::map($clientes,'id','fullName');
echo $form->field($model, 'idcliente')->widget(Select2::className(),
)->label('Cliente')->dropDownList(
$listData,
['prompt'=>'Selecionar...',
'onchange' => '
$.post(
"' . Url::toRoute('getoperations') . '",
{id: $(this).val()},
function(res){
$("#requester").html(res);
}
);
',]);?>
modelo selet 2
<?= $form->field($model,'idventa')->widget(Select2::className(),
)->label('Venta')->dropDownList( [ ],
[
'prompt' => 'Selecionar...',
'placeholder' => 'Selecionar..e.',
'id' => 'requester',
]); ?>
Controller
public function actionGetoperations()
{
if ($id = Yii::$app->request->post('id')) {
$operationPosts = \app\models\Clientes::find()
->where(['id' => $id])
->count();
if ($operationPosts > 0) {
$mjs1 = "Credito de ";
$mjs2 = " Cuota de ";
$operations = \app\models\Ventas::find()
->where(['idcliente' => $id])
->andwhere(['>=', 'saldo', 1])
->all();
foreach ($operations as $operation)
echo "<option value='" . $operation->id. "'>" .$mjs1. $operation->valor .$mjs2. $operation->cuotas . "</option>";
} else
echo "<option>-</option>";
}
}
Agradezco me ayuden!!!