[解決済み] Uncaught TypeError: 未定義のプロパティ 'toLowerCase' を読み取れませんでした。
2022-01-29 09:23:18
質問
このエラーは、jqueryフレームワークから発生しています。 ドキュメントレディにセレクトリストをロードしようとすると、このエラーが発生します。 なぜこのエラーが発生するのかがわかりません。
変更イベントについてはうまくいくのですが、関数を手動で実行しようとするとエラーが発生します。
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined -> jquery-2.1.1.js:7300
以下はそのコードです。
$(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");
}
});
}
解決方法は?
を呼び出すと
loadTeachers()
のコンテキストは DOMReady になります。
this
にはなりません。
#CourseSelect
要素を使用します。
をトリガーにすることで修正できます。
change()
イベントを
#CourseSelect
要素の読み込み時に
$("#CourseSelect").change(loadTeachers).change(); // or .trigger('change');
あるいは
$.proxy
を使用すると、関数が実行されるコンテキストを変更することができます。
$("#CourseSelect").change(loadTeachers);
$.proxy(loadTeachers, $('#CourseSelect'))();
あるいは、上記のバニラJSに相当するもの。
bind()
:
$("#CourseSelect").change(loadTeachers);
loadTeachers.bind($('#CourseSelect'));
関連
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】TypeError: res.status は関数ではありません。
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]
-
[解決済み] React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】未定義のオブジェクトプロパティを検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】Vueが定義されていない
-
[解決済み】module.exports "モジュールが定義されていません"