如何从动态ID获取值并使用Ajax传递给控制器

时间:2018-08-08 11:25:20

标签: json ajax asp.net-mvc jsonmodel

    function Save() {
           var count = $("#count").val();//count to iterate
           var obj = {}
           for (var i = 0; i < count ; i++)  //iterating for each set of id's
           {
               obj = {
               chckaids : $("#chckaids" + i).val(),
               size : $("#size " + i).val(),
               freq : $("#freq" + i).val(),
               control : $("#control " + i).val(),
               plan : $("#plan" + i).val(),
               type : $("#type").val(),
               qty : $("#qty").val(),
               rejected : $("#rejected ").val(),
               remark : $("#remark").val()
               }
           }

    $.ajax({
                   url: "../SaveQCInspection",
                   type: "Post",
                   data: JSON.stringify([obj]),                                                                                                                                                          
                   contentType: 'application/json; charset=utf-8',                                                                                                                                                                                                                                                                                           
                   success: function (data) {                                                                                                                                                                                                                                                                                                               
                    },
                   error: function () { }
               });
       }

  

我需要获取动态id中的所有值,并将其作为单个对象传递给ajax。专家告诉我使用Json-model,我用Google搜索过,但对此一无所知。请指导我是使用json模型还是简单的方法还是实现此目的的唯一方法...

先谢谢您.....:)

1 个答案:

答案 0 :(得分:1)

您可以将项目推入数组,然后对其进行字符串化

function Save() {
           var count = $("#count").val();//count to iterate
           var list = [];

           for (var i = 0; i < count ; i++)  //iterating for each set of id's
           {
               var obj = {
               chckaids : $("#chckaids" + i).val(),
               size : $("#size " + i).val(),
               freq : $("#freq" + i).val(),
               control : $("#control " + i).val(),
               plan : $("#plan" + i).val(),
               type : $("#type").val(),
               qty : $("#qty").val(),
               rejected : $("#rejected ").val(),
               remark : $("#remark").val()
               }

               list.push(obj)
           }

    $.ajax({
                   url: "../SaveQCInspection",
                   type: "Post",
                   data: JSON.stringify(list),                                                                                                                                                          
                   contentType: 'application/json; charset=utf-8',                                                                                                                                                                                                                                                                                           
                   success: function (data) {                                                                                                                                                                                                                                                                                                               
                    },
                   error: function () { }
               });
       }