Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何像这样序列化表单?_Jquery_Asp.net Mvc_C# 3.0 - Fatal编程技术网

Jquery 如何像这样序列化表单?

Jquery 如何像这样序列化表单?,jquery,asp.net-mvc,c#-3.0,Jquery,Asp.net Mvc,C# 3.0,我知道有很多这样的问题,但我找不到解决办法对不起,菜鸟。。。 我有一个可以通过javascript添加和删除行的表单 <form id="form1"> <div class="row"> <input name="suppliername" /> <input name="supplierproduct" /> <div> <div class="row">

我知道有很多这样的问题,但我找不到解决办法对不起,菜鸟。。。 我有一个可以通过javascript添加和删除行的表单

<form id="form1">
    <div class="row">
         <input name="suppliername" />
         <input name="supplierproduct" />
    <div>
     <div class="row">
         <input name="suppliername" />
         <input name="supplierproduct" />
    <div>
    <div class="row">
         <input name="suppliername" />
         <input name="supplierproduct" />
    <div>
</form>
我将通过jquery ajax post发布这些数据? 服务器将使用asp mvc

控制器

public void createsup(List<Supplier> model)
{
    // something
}
帮助谢谢…

您可以使用
map()
创建一个对象数组,其中包含
行中
输入
字段中的那些属性和值。试试这个:

var data = $('.row').map(function() {
    var obj = {};
    $(this).find('input').each(function() {
        obj[this.name] = this.value;
    });
    return obj;
}).get();

为什么要创建手动html。在视图中使用
@model List
,并在
for
循环中使用html帮助程序生成html,以便它们具有正确的名称属性。您所需要的就是
数据:$('form')。serialize()
使用ajax发布它。
public class Supplier
{
    public string suppliername {get; set;}
    public string supplierproduct{get; set;}
}
var data = $('.row').map(function() {
    var obj = {};
    $(this).find('input').each(function() {
        obj[this.name] = this.value;
    });
    return obj;
}).get();