Чтобы достичь того, что вы хотите, вы должны изменить функцию check_code_avalibility
, чтобы она возвращала данные, а не выводила html. Когда вы делаете что-то подобное в javascript:
.val(data.id)
, это означает, что вы ожидаете объект, обладающий свойством id
. Но ваша PHP функция не возвращает объект. Он возвращает строку (ваш html вывод). Нет id
, поэтому вы не можете его использовать.
Если вы хотите вернуть объект для javascript, лучше всего использовать JSON. См. json_encode
пример . Таким образом, вместо того, чтобы отображать html в вашей функции, вы должны сохранить это html в массиве под некоторым ключом:
$output['html'] = '<label class="... and so on';
Обратите внимание, что если вы выводите несколько строк, вам нужно объединить их перед добавлением в массив. Внутри вашего javascript этот вывод html теперь будет доступен под data.html
(потому что так я назвал ключ массива).
Кроме того, вам нужно добавить нужный идентификатор в этот же массив:
$output['id'] = $this->student_model->id;
Если вы вернете версию этого массива в кодировке JSON, у вас будет html и идентификатор, доступный вам в javascript.