Javascript或Jquery使用foreach添加到通用对象

Javascript或Jquery使用foreach添加到通用对象,javascript,jquery,object,foreach,Javascript,Jquery,Object,Foreach,我正试图重现这一点: formData = { 'Username': $('input[name=Username]').val(), 'FirstName': $('input[name=FirstName]').val(), 'LastName': $('input[name=LastName]').val(), 'Email': $('input[name=Email').val(), 'DisplayName': $('input[name=DisplayName'

我正试图重现这一点:

formData = {
  'Username': $('input[name=Username]').val(),
  'FirstName': $('input[name=FirstName]').val(),
  'LastName': $('input[name=LastName]').val(),
  'Email': $('input[name=Email').val(),
  'DisplayName': $('input[name=DisplayName').val()
}
表单上使用
foreach
输入:

formData = {
  function() {
    $('#Edit-@Dnn.ModuleContext.ModuleId input, #Edit-@Dnn.ModuleContext.ModuleId select').each(
      function(index) {
        var input = $(this);
        n = input.attr('name');
        v = input.val();
        return { n: v }
      }
    );
  }
}
当然,这是行不通的。它只是描述了我要做的事情。
n
v
值正确。我可以通过
警报
获得正确的输出。它只是创建了
formData
我遇到了麻烦


我该怎么做?

比我想象的要简单:

formData = {};
$('#Edit-@Dnn.ModuleContext.ModuleId input, #Edit-@Dnn.ModuleContext.ModuleId select').each(
  function(index) {
    var input = $(this);
    formData[input.attr('name')] = input.val();
  }
);

比我想象的要简单:

formData = {};
$('#Edit-@Dnn.ModuleContext.ModuleId input, #Edit-@Dnn.ModuleContext.ModuleId select').each(
  function(index) {
    var input = $(this);
    formData[input.attr('name')] = input.val();
  }
);

您不需要jQuery来解决它:

var formData = {};
var inputs = document.querySelectorAll('#Edit-@Dnn.ModuleContext.ModuleId input, #Edit-@Dnn.ModuleContext.ModuleId select');
for (var i = 0; i < inputs.length; ++i) {
  formData[inputs[i].name] = inputs[i].value;
}

您不需要jQuery来解决它:

var formData = {};
var inputs = document.querySelectorAll('#Edit-@Dnn.ModuleContext.ModuleId input, #Edit-@Dnn.ModuleContext.ModuleId select');
for (var i = 0; i < inputs.length; ++i) {
  formData[inputs[i].name] = inputs[i].value;
}

因为你没有问关于jquery的问题,也没有用jquery标记你的问题,所以这实际上不是你问题的答案,因为你没有问关于jquery的问题,也没有用jquery标记你的问题,所以这实际上不是你问题的答案耶!比我的答案更干净更有效。是的!比我的答案更干净、更有效。