javascript - 如何在javascript中为两个数组的每个循环使用一个?

标签 javascript arrays

在我的网络应用程序中,我有多个同名的文本框。使用按钮单击事件,它将动态添加文本框。用户输入电子邮件地址。

下面的 JavaScript 显示,使用 for 每个循环,它将在数据库中保存用户输入的所有电子邮件地址。

 function JavaScriptFunction() {   
 var arr = $("[name='multiple[]']");
 $.each(arr, function (i, item) { PageMethods.InsertContacts($(item).val(),"01132321","M0011", getValues_Success, getValues_Fail);
  });

这是我的网页

                        <div class="form-group multiple-form-group input-group">                           
                            <input type="text" name="multiple[]" class="form-control" />                          
                            <span class="input-group-btn">
                                <button type="button" class="btn btn-success btn-add">+</button>
                            </span>
                        </div>

                         <div class="form-group multiple-form-group input-group">                           
                            <input type="text" name="multiple[]Phone" class="form-control" />                          
                            <span class="input-group-btn">
                                <button type="button" class="btn btn-success btn-add">+</button>
                            </span>
                        </div>

                     <input type="button" onclick="JavaScriptFunction();" value="get Values" />   

方法背后的代码

  [WebMethod]
public static string InsertContacts(string email ,string phone, string username)
{
    userDataHandler.InsertContacts(email, phone, username);
    return "success";
}

以同样的方式,用户添加电话号码。我想读取数组并将数据保存在数据库中。我可以在两个循环中读取数组并保存数据。但我想在一个循环中读取这两个数组并将数据保存在两列中。

我尝试了这样的方法,但没有成功。

var arr = $("[name='multiple[]']");
var arr2 = $("[name='multiple[]Phone']");

$.each(arr,arr2 function (i, item,item2) {
  PageMethods.InsertContacts($(item).val(),$(item2).val(),"M0011", getValues_Success, getValues_Fail);
});

最佳答案

如果它们的长度相同,则可以在单个循环中。

var arr = $("[name='multiple[]']");
var arr2 = $("[name='multiple[]Phone']");

$.each(arr, function (i, item) {
  PageMethods.InsertContacts(arr[i].val(),arr2[i].val(),"M0011", getValues_Success, getValues_Fail);
});

如果它们的长度不同,则使用两个循环

$.each([arr, arr2], function() {
    $.each(this, function(i, v) {
        // do something
    });
});

关于javascript - 如何在javascript中为两个数组的每个循环使用一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28654815/

相关文章:

javascript - jQuery点击函数滑动div

javascript - 在客户端防止 XSS(纯 Javascript)

c++ - 从(坏的)array[size] 移动到 array = new float[size]

java - 查找可分配的最大尺寸数组

javascript - Knockout.js 中的级联下拉菜单

javascript - AngularJS - 跨 Controller 广播

javascript - 自动跳到下一个空白文本输入框

javascript - 数组排序后跟javascript中的自定义序列

c - 重新分配 C 数组以获得更多空间

javascript - 谷歌图表 : Pass raw data