나는 이렇게 렌더링하는 부분보기가 있는데, 자바 스크립트를 사용하여 유효성을 검사하기 위해 textbox 값에 액세스하고 싶지만, 첫 번째 행 값과 값은 @ Html.TextBoxFor (X => X [i]를 .WorkStart 값입니다. 나는 자바 스크립트를 사용하여 시작 시간과 종료 시간 값을 확인해야합니다.자바 스크립트를 사용하여 Textbox의 가치를 얻는 방법
이<table class="table table-bordered table-striped">
<thead>
<tr>
<th> </th>
<th>Weekdays</th>
<th>Start Time</th>
<th>End Time</th>
<th>Duration</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.Count(); i++)
{
<tr>
<td>
@Html.CheckBoxFor(x => x[i].IsWorkDay)
</td>
<td>
@Html.DisplayFor(x => x[i].DayName)
@Html.HiddenFor(x => x[i].DayName) @Html.HiddenFor(x => x[i].Day)
@Html.HiddenFor(x => x[i].PracticeStaffId)
@Html.HiddenFor(x => x[i].LocationId)
</td>
<td>
@*<div class="controls input-group date form_time" data-date="" data-date-format="hh:ii" data-link-field="dtp_input3" data-link-format="hh:ii">
<span class="input-group-addon add-on">
<i class="icon-th fa fa-clock-o"></i>
</span>
@Html.TextBoxFor(x => x[i].WorkStart, new { name = "WorkStart" + i + "", onchange = "onStartChange()", @readonly = "readonly", @class = "form-control timepicker" })
</div>*@
<div class="input-group date time-datetimepicker" >
@Html.TextBoxFor(x => x[i].WorkStart, "{0:HH:mm:ss}", new { name = "WorkStart" + i + "", @id = "WorkStarttime", @onchange ="onStartChange(this.value)", @readonly = "readonly", @class = "form-control timepicker" })
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
</td>
<td>
@*<div class="controls input-group date form_time" data-date="" data-date-format="hh:ii" data-link-field="dtp_input3" data-link-format="hh:ii">
<span class="input-group-addon add-on"><i class="icon-th fa fa-clock-o"></i></span>
@Html.TextBoxFor(x => x[i].WorkEnd, new { name = "WorkEnd" + i + "", onchange = "onEndChange()", @readonly = "readonly", @class = "form-control timepicker" })
</div>*@
<div class="input-group date time-datetimepicker">
@Html.TextBoxFor(x => x[i].WorkEnd, "{0:HH:mm:ss}", new { name = "WorkEnd" + i + "", @id="WorkEndtime",@onchange = "onEndChange(this.event)", @readonly = "readonly", @class = "form-control timepicker" })
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
</td>
<td><span id="[email protected]i"> @Html.DisplayFor(x => x[i].Duration)</span></td>
</tr>
}
</tbody>
</table>
'$ ('# textboxId') .val()' – Tushar
'name = "WorkStart"+ i + ""'를 사용하지 마십시오. 절대적으로 아무것도하지 않습니다. '@ id = "WorkEndtime' - 무효 html 인 중복'id' 속성을 만드는 것.'$ ('#_ 0__WorkStart')'하지만 클래스 이름을 지정하고 상대 선택자를 사용해야합니다. –
그런 다음 제거하십시오. 그 모든 것들을 onchange하고 [Unobtrusive Javascript] (https://en.wikipedia.org/wiki/Unobtrusive_JavaScript)를 사용하십시오. 그리고 조건 유효성 검사 속성 (예 :'[GreaterThan]'속성 사용)을 사용하여 유효성을 검사해야합니다 –