Ricevo questo errore ed è originato dal framework jquery. Quando provo a caricare un elenco di selezione su documento pronto, ottengo questo errore. Non riesco a trovare il motivo per cui sto ricevendo questo errore.Unchaught TypeError: Impossibile leggere la proprietà 'toLowerCase' di undefined
Funziona per l'evento di modifica, ma sto ricevendo l'errore quando si tenta di eseguire la funzione manualmente.
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined -> jquery-2.1.1.js:7300
Ecco il codice
$(document).ready(function() {
$("#CourseSelect").change(loadTeachers);
loadTeachers();
});
function loadTeachers() {
$.ajax({
type: 'GET',
url: '/Manage/getTeachers/' + $(this).val(),
dataType: 'json',
cache: false,
success:function(data) {
$('#TeacherSelect').get(0).options.length = 0;
$.each(data, function(i, teacher) {
var option = $('<option />');
option.val(teacher.employeeId);
option.text(teacher.name);
$('#TeacherSelect').append(option);
});
},
error: function() {
alert("Error while getting results");
}
});
}
Nel mio caso particolare, ho dovuto cambiare "$ (this) .VAL(); " a "$ (this.target) .val();" –
'$ (this) .val()' sarebbe anche un uso corretto –
Ma vogliamo evitare di usare 'this' se possiamo aiutarlo. L'uso di 'this' rende il codice più difficile da mantenere. – Bobort