У меня есть поле с именем employee_name
, и в зависимости от значения этого поля я хочу автоматически заполнить другое поле employee_id
. Я искал и нашел это answer и попытался реализовать это в своей форме, но я получаю Error in ajax request
. Код jquery в моей форме
$('#emp').focusout(function() {
empName = this.value;
if ( empName != '' || empName != null ) {
$('#depcustomer-employee_name').val(empName);
}
$.ajax({
url: '".yii\helpers\Url::toRoute("deposit/employeeid")."',
dataType: 'json',
method: 'GET',
data: {name: $(this).val()},
success: function (data, textStatus, jqXHR) {
$('#depcustomer-employee_id').val(data.id);
},
beforeSend: function (xhr) {
alert('loading!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('An error occured!');
alert('Error in ajax request');
}
});
});
Имя моего контроллера — Deposit
, а код моего контроллера —
public function actionEmployeeid($name){
$model= app\modules\settings\models\DepEmployee::findOne(['employee_name'=>$name]);
return \yii\helpers\Json::encode([
'id'=>$model->employee_id
]);
Что может быть возможной причиной того, что мой код ajax не работает?
Моя форма довольно большая. Вот часть записи поля сотрудника
<div class="row">
<div class="col-md-6">
<?= $form->field($model, 'employee_id')->textInput(['maxlength' => true]) ?>
</div>
<div class="col-md-6">
<label for='emp'>Employee Name</label>
<?= Html::activeHiddenInput($model, 'employee_name')?>
<?php
echo AutoComplete::widget([
'name' => 'employee_name',
'id' => 'emp',
'clientOptions' => [
'source' => $dataEmp,
'autoFill'=>true,
'minLength'=>'2',
'select' => new JsExpression("function( event, ui ) {
$('#depcustomer-name').val(ui.item.id);
}")
],
]);
?>
</div>
</div>
yii\helpers\Url::toRoute("deposit/employeeid")
? Опубликуйте свою форму, чтобы получить дополнительную помощь, пожалуйста. - person Francis Ngueukam   schedule 11.01.2017http://localhost/testingDeposit/backend/web/index.php?r=deposit%2Fdeposit%2Femployeeid
- person gojiraki   schedule 11.01.2017$dataEmp
содержание. - person Insane Skull   schedule 12.01.2017<?php $dataEmp = DepEmployee::find() ->select(['employee_name as value', 'employee_name as label','employee_id as id']) ->asArray() ->all(); ?>
- person gojiraki   schedule 12.01.2017<input id="emp" class="ui-autocomplete-input form-control" name="employee_name" autocomplete="off" type="text">
- person gojiraki   schedule 12.01.2017