【问题标题】:how to store textbox values in array using jquery?如何使用 jquery 将文本框值存储在数组中?
【发布时间】:2012-10-23 15:44:53
【问题描述】:

我有两个同名的文本框control_text,但它们的值不同。我想使用 jQuery 将我所有的文本框值存储在一个数组中。

HTML

<input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="firstvalue" />
<input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="secondvalue" />

JavaScript

var test_arr = $("input[name='control_text']");
$.each(test_arr, function(i, item) {
    // i = index, item = element in array
    alert($(item).val());
});

以上代码分别显示文本框的值。我不想单独提醒这些值,我想用逗号分隔符同时提醒这两个值 (firstvalue, secondvalue)。任何帮助表示赞赏。

【问题讨论】:

  • 也可以在提交时通过序列化数组函数获取数组格式的结果 - api.jquery.com/serializeArray $('form').submit(function() { console.log($( this).serializeArray()); return false; });

标签: php javascript jquery html


【解决方案1】:

使用map()方法:

var arr = $("input[name='control_text']").map(function() {
    return this.value;
}).get();

附注:单个页面中的元素应具有唯一 ID,因此请检查您的标记是否有效。

【讨论】:

  • 值得一提的是,您还需要申请.get(),才能获得真正的js数组。
  • @zerkms 是的,我总是忘记它 :) 谢谢!
【解决方案2】:
var newArray = [];
$( "input[name='control_text']" ).each(function() {
    newArray.push($( this ).val());
});
console.log(newArray);

您也可以使用 .each 函数来实现它。

【讨论】:

  • 我已经尝试了十几个答案,这是唯一一个由于某种原因起作用的答案...谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多