【问题标题】:Make javaScript/jQuery array of multiple input field values制作多个输入字段值的 javaScript/jQuery 数组
【发布时间】:2011-10-11 02:41:42
【问题描述】:

我无法弄清楚的简单问题。我想做一个输入值的 JavaScript 数组,但不知道简单的代码。

这是 HTML:

<input class="email" value="joe@smith.com"></input>
<input class="email" value="bob@jones.com"></input>

这是尝试创建数组的尚未正确的 JS/jQuery:

$.fn.valuesArr = function()
  {
    var a = [];
    $.each(this, function(i, field){
        a.push(field.value);
    });
    return a;
  } 

var emailArr=$('.email').valuesArr();

最终,这就是我希望 emailArr 成为的样子:

emailArr= ["joe@smith.com", "bob@jones.com"];

不确定我的 valuesArr 函数有什么问题,任何基于 JS 和/或 jQuery 的解决方案都将不胜感激!

【问题讨论】:

  • 似乎对我有用,除非我误解了这个问题。这是一个小提琴,显示它输出创建的emailArrjsfiddle.net/BRtDY/1
  • 嗨帕特,你是对的,它确实有效,我的测试中没有 doc.ready 功能,令人沮丧!感谢您的帮助,最良好的祝愿,-tim
  • 很高兴听到 - 您应该发布问题的答案,然后接受它。它会帮助遇到与您类似的问题的其他人。

标签: javascript jquery arrays for-loop push


【解决方案1】:

这应该获取类 email 的所有元素的值,然后将其分配给 email 数组。

$("action").click(function () {
    var emails=new Array();
    var j=0;
    $(".email").each(function(){
        emails[j]=$(this).val();
        j++;
    });
});

【讨论】:

  • 嗨,COLD TOLD,感谢您的帮助,我按照上面 Pat 的小提琴并理解了它,问题很简单,我没有 doc.ready $(function(){};围绕我的 valuesArr 函数,我现在一切就绪,谢谢,-tim
【解决方案2】:

正如帕特所说,原始脚本是正确的。问题在于如何调用脚本。如果您执行以下任一操作,原始脚本将起作用:

  1. 确保原始脚本位于 HTML 文件中的标签下方
  2. 将脚本封装在一个jQuery document.ready函数中,即$(function(){ --$.each function() -- });

感谢 Pat 和 COLD TOLD 的帮助,

【讨论】:

    猜你喜欢
    • 2015-09-19
    • 2011-09-04
    • 1970-01-01
    • 2023-03-09
    • 2017-03-21
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多