Jquery 如何重新计算表单数组

Jquery 如何重新计算表单数组,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,我希望用户一次更新多行,因此我创建了一个类似这样的表单(我去掉了HTML以显示我的真正意思): @使用(Html.BeginForm()){ @{int i=0;} @foreach(模型中的var行){ @文本框(“Customer[“+i+”].CustomerID”) @文本框(“客户[“+i+”].Name”) } } HTML格式的输出为(3行): 当用户单击“提交”按钮时,数据将发送到控制器: Public ActionResult EditCustomer(IEnumerab

我希望用户一次更新多行,因此我创建了一个类似这样的表单(我去掉了HTML以显示我的真正意思):

@使用(Html.BeginForm()){
@{int i=0;}
@foreach(模型中的var行){
@文本框(“Customer[“+i+”].CustomerID”)
@文本框(“客户[“+i+”].Name”)
}
}
HTML格式的输出为(3行):


当用户单击“提交”按钮时,数据将发送到控制器:

Public ActionResult EditCustomer(IEnumerable<Customer> Customer) {
}
Public ActionResult EditCustomer(IEnumerable客户){
}
这给了我一个很好的IEnumerable和所有输入的数据,我可以做任何我想做的。它按预期工作

现在我想更进一步,允许用户删除行

此操作失败

因为当我删除第二行时,数组不再是“关闭的”:它从客户[0]转到客户[2],ASP.NET MVC对此有问题

所以我认为这可以通过重新计算索引来解决。但是在jQuery中如何实现这一点呢


因此,在删除中间行之后,将运行一个函数,将
Customer[2].CustomerID
更新为
Customer[1].CustomerID

我向您推荐,它展示了一个很好的助手,您可以使用它来实现这一点,而不是使用神奇的字符串。

非常感谢!这正是我想要的嗯,新问题。主键重置为零()
<input type="text" name="Customer[0].CustomerID" />
<input type="text" name="Customer[0].Name" />

<input type="text" name="Customer[1].CustomerID" />
<input type="text" name="Customer[1].Name" />

<input type="text" name="Customer[2].CustomerID" />
<input type="text" name="Customer[2].Name" />
Public ActionResult EditCustomer(IEnumerable<Customer> Customer) {
}