1

我有以下表格:

                <input type="text" name="name1" id="names1" class="names" value="" placeholder="1) Name Here . . .">
                <input type="text" name="name2" id="names2" class="names" value="" placeholder="2) Name Here . . .">
                <input type="text" name="name3" id="names3" class="names" value="" placeholder="3) Name Here . . .">
                <input type="text" name="name4" id="names4" class="names" value="" placeholder="4) Name Here . . .">

当用户单击存储每个名称的提交按钮时,我正在尝试创建一个数组:

var values = $('.names').map(function() { return this.value; }).get();

它有效,但它也收集了我不需要的空字段。我想我需要一个条件 For 语句,但我无法管理它的语法。

谢谢

4

2 回答 2

2

试试这个:

var values = $('.names').map(function() { if(this.value.trim() != '') return this.value; }).get();

或者:

var result = [];
var elements = getElementsByClassName('names');
for(var i = 0; i < elements.length; i++){
    if(elements[i].value.trim() != '')
          result.push(elements[i].value);
}
于 2012-12-02T14:11:28.603 回答
0

只需选择所有非空值的 .names

var values = $('.names[value!=""]').map(function() { return this.value; }).get();

在现实世界中,您还需要存储名称:

var values = $('.names[value!=""]').map(function() { 
    return {name: this.name,value: this.value};
}).get();

http://jsfiddle.net/oceog/7ZcbY/

于 2012-12-02T14:15:20.660 回答