Boa Noite estou tentando pegar fazer uma segunda consulta apartir de um Select2 widget
<?= $form->field($model,'cod_cli')->widget(Select2::Classname(), [
'data' => $model->clientes,
'language' => 'br',
'options' => ['placeholder' => 'Selecione o Cliente'],
'pluginOptions' => [
'allowClear' => true,
'language' => [
'errorLoading' => new JsExpression("function () { return 'Waiting...'; }"),
],
'ajax' => [
'url' => $url,
'dataType' => 'json',
'data' => new JsExpression('function(params) { return {nome:params.term}; }'),
'processResults' => new JsExpression('function (data, params) {
clientes = data.items;
return {
results: data.items
};
}'),
],
'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
'templateResult' => new JsExpression("function(cliente){
if (cliente.loading) {
return cliente.text;
}
var markup =
'<div class=\"row\">' +
'<div class=\"col-sm-12 select-nome-cliente\">' +
'<strong>' + cliente.nome + '</strong>' +
'</div>' +
'</div>';
return '<div style=\"overflow:hidden;\">' + markup + '</div>';
}"),
'templateSelection' => new JsExpression('function(cliente) {
return cliente.nome || cliente.text;
}'),
],
]);
?>
</div>
</div>
Esse é o segundo
<?=
$form->field($model, 'cod_und',['options' => ['class' => 'unidade']])->widget(Select2::Classname(), [
'data' => $model->unidades,
'language' => 'br',
'options' => ['placeholder' => 'Selecione a unidade'],
'pluginOptions' => [
'allowClear' => true,
'ajax' => [
//'url' => $url_und,
'url'=>\yii\helpers\Url::to(['getunidadeajax','idCliente' => 9 ***aqui esta o erro**]),
'dataType' => 'json',
'data' => new JsExpression('function(params) {
return {
nome:params.term
};
}'),
'processResults' => new JsExpression('function (data, params) {
unidades = data.items;
return {
results: data.items
};
}'),
],
'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
'templateResult' => new JsExpression("function(unidade){
if (unidade.loading) {
return unidade.text;
}
var markup =
'<div class=\"row\">' +
'<div class=\"col-sm-12 select-nome-unidade\">' +
'<strong>' + unidade.nome + '</strong>' +
'</div>' +
'</div>';
return '<div style=\"overflow:hidden;\">' + markup + '</div>';
}"),
'templateSelection' => new JsExpression('function(unidade) {
return unidade.nome || unidade.text;
}'),
//'initSelection' => new JsExpression($initScript)
],
] );
?>
</div>
</div>
$script = <<< JS
$(’#setormodel-cod_cli’).change(function(e) {
let cliente = clientes.filter(p => p.id == $(this).val())[0];
$(’#setormodel-codigo’).val(cliente.id);
codigofdp = cliente.id;
alert(codigofdp);
});
JS;
$this->registerJs($script);
?>
no Jquery ele pega certinho o codigo do primeiro, mas nao consigo colocar esse valor na segunda consulta!
Alguém pode ajudar ??