ASP.Net Webページのいくつかのチェックボックスを繰り返し処理するJQueryコードを作成しました。$ .each関数に埋め込まれたifステートメントに2つの非常に奇妙な問題があります。コードは自分のチェックボックスをうまく選択しています。コードが$ .each関数を繰り返し実行すると、チェックボックスをオンにしたかどうかによってobjValue.checkedが真または偽であることがはっきり分かります。私が見ている問題は、1)objValue.checkedの値がfalseであってもif文に常に入り込み、2)私のavailableInstalls変数の値が決して減少しないことです。デバッグモードでは、 "availableInstalls = availableInstalls - 1"のコード行にヒットします。誰でもこの動作を引き起こしている可能性があることを知っていますか?JQuery ifステートメント
$(document).ready(function() {
$(".installsoftwarecb").click(function() {
var availableInstalls = 10;
var checkBoxes = $(".installsoftwarecb input[type='checkbox']");
$.each(
checkBoxes, function(intIndex, objValue) {
if (objValue.checked) {
availableInstalls = availableInstalls - 1;
}
});
});
});
セレクタは動作しますが、実際に入力する必要があります:チェックボックス:チェックされていますが、チェックされているとコンテキスト内のすべての要素がかなり非効率的になります。チェックボックスをチェックボックスに入力することでフィルタリングすることができます:チェックボックス - 大部分の時間は大したことではありませんが、それは単なる良い方法です。 –
他のコメントに書いたとおり、私はあなたに同意し、私は自分の答えを編集しました。個人的には、それは本当に重要だとは思っていませんが、ラジオボタン要素を数えることができるという事実は、HTMLが将来変更されるとバグの可能性があります。 – SolutionYogi
答えを更新していただきありがとうございます。 +1 :) –