【发布时间】:2015-09-28 16:34:28
【问题描述】:
我有一个 mvc cshtml 表单,我使用以下语法生成多行:
foreach (var i in Model)
{
<td>
@Html.TextBoxFor(a => a[j].SFDCID, new { id = "SFDCID", @class ="SFDCID" })
</td>
}
这是生成的 HTML sn-p 类似:
<input class="SFDCID" id="SFDCID" name="[0].SFDCID" type="text" value="">
<input class="SFDCID" id="SFDCID" name="[1].SFDCID" type="text" value="">
.....
.....
现在我想检查用户是否在所有 SFDCID 字段中输入了值,那么只有表单提交应该发生,否则应该抛出验证消息。
为此,我尝试使用其名称属性访问该值并编写了以下代码:
for (var i = 0; i <= totalNumberOfRows; i++) {
var elementName = '[' + i + '].SFDCID';
if ($("[name = elementName]").val() == "" ||
$("[name = elementName]").val() == undefined)
{
ConsolidatedErrorMsg = "SFDC ID is a Mandatory field.";
}
}
我尝试使用类、id 和名称作为选择器来获取值,但在前两种情况下,它仅适用于第一行。 使用名称选择器,如果我硬编码元素名称,例如“[0].SFDCID”和“[1].SFDCID”,则它适用于两个名称,但是当我用 0 和 1 替换 i 时,它不起作用。
请帮助我纠正我在此选择器中遇到的任何语法错误。
【问题讨论】:
标签: javascript jquery asp.net-mvc asp.net-mvc-4 jquery-ui