学生のマーク入力フィールドからマークをチェックしているときに、奇妙な検証エラーに直面しています。
入力id
は、入力された値と比較するために最大マークを保持しています (現在の場合は 35)。そのため、ユーザーが 35 未満または 35 未満の値を入力した場合は許容されますが、35 を超えることはありません..しかし、現在のケースでは、100 以上の値で壊れています。
シンプルで短く保つと、私のHTML
やり方は次のようになります-
<input type="text" value="30" id="studentname[98989898][marks-35_compid-1_subid-12]" name="studentname[98989898][marks-35_compid-1_subid-12]" style="width:50px;text-align:center">
私のjQueryコード -
jQuery(document).ready(function() {
jQuery("input[type='text']").on('change', function(event) {
var colId = event.target.id;
var maxMarksSplit=colId.split("marks-");
var maxMarks = maxMarksSplit[1].split("_compid");
alert("Max marks " + maxMarks[0] );
if( jQuery(this).val() > maxMarks[0] )
{
alert("Please check your value!" );
jQuery(this).val(0);
}
});
});
ワーキングフィドルデモ--> http://jsfiddle.net/swapnesh/ktKE3/
より小さい値の場合はテストに合格します100
が、より大きいか等しい値の場合は失敗します100
。
この奇妙な検証動作と、私が論理的に間違っていることについて教えてください。