次の javascript と jquery コードには 2 つの問題があります。jqueryの各ループは1回だけ反復し、正しいIDを持つ最初の要素を取得して、必要なことを実行して停止します。
2番目の問題は、各関数内のコードでelseを使用すると、次のifさえ試行せず、そこで終了することです。私はおそらく何か根本的な間違いを犯していますが、jquery の各関数と、else に期待することから、それはわかりません。
Javascript コード:
var $checkVal;
var $checkFailed;
$("#compliance").live("keypress", function (e) {
if (e.which == 10 || e.which == 13) {
var checkID = $(this).parents('td').next().attr('id');
var checkVal = $(this).val();
$('#' + checkID).each(function () {
var cellVal = $(this).text();
if (checkVal == cellVal) {
$(this).removeClass("compFail").addClass("compOk");
} else {
$(this).removeClass("compOk").addClass("compFail");
var checkFailed = True;
}
});
if (checkFailed == 'True') {
(this).addClass("compFail");
} else {
(this).addClass("compOk");
}
}
});
変数 checkID に割り当てられた ID を使用して、各要素のすべてのインスタンスを反復する each ループを取得し、else の後にコードを続行して、最後の if を実行するにはどうすればよいでしょうか?