我正在开发一个 asp.net mvc3 应用程序。在我的剃刀视图中,我将文本框设置为:
@Html.TextBoxFor(x => Model[i].FieldValue, new { @class = "yesNoNotApplicableTextbox", style = "display: none;" })
最初它是隐藏的。有条件必须被击中才能显示出来。我这样展示它:
$('.YesNoNotApplicable').change(function () {
if ($(this).val() === '2') {
$(this).closest('td').next('td').find('input').show();
}
else {
$(this).closest('td').next('td').find('input').hide();
}
});
简而言之.YesNoNotApplicable
,就是下拉类,如果选择了某个值,那么我会显示文本框。
表单的所有这一部分,在提交时我想检查文本框的值(我还没有想到如何检查它是显示还是隐藏我想先实现检查)所以我这样做:
$(".yesNoNotApplicableTextbox input[type='text']").each(function () {
if ($(this).val().trim().length < 1) {
$(this).focus();
throw "Please insert text!";
}
});
但无论我是否从下拉列表中选择正确的值,使文本框可见或不执行检查。文本框为空,但我没有收到错误消息。
这是隐藏时为该文本框生成的 HTML:
<input class="yesNoNotApplicableTextbox" type="text" value="" style="display: none;" name="[14].FieldValue">
然后当我展示它时:
<input class="yesNoNotApplicableTextbox" type="text" value="" style="" name="[14].FieldValue">
如何执行值检查?