我有以下表格:
<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语句,但我无法管理它的语法。
由于
答案 0 :(得分: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);
}
答案 1 :(得分: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();