Проблема
У вас может быть только один элемент с любым значением id
на странице.
На данный момент вы создаете несколько элементов с одинаковым * 1006.*.Это делает ваш HTML недействительным.Если у вас есть дубликаты id
значений на странице, Javascript (а также jQuery) всегда будет возвращать только первый элемент с данным идентификатором .Вот почему он работает только для первого раскрывающегося списка в вашем коде.
A Решение
Вместо id
используйте class
:
foreach{ // for reference
<%: Html.TextBox("Qty", "", new { Class = "Qty_Class"})%>
}
$(function () {
debugger;
$('.Qty_Id').blur(function () {
var QtyVal = $(this).val();
var $regexmatch = /^[0-9]*$/;
if (!$.isNumeric(QtyVal) || !QtyVal.match($regexmatch)) {
IsValid = false;
alert("Quantity must be number..!");
$(this).val('');
}
});
});
Также,внутри вашего обработчика событий вы имеете доступ к элементу, вызвавшему событие, используя this
.