2011-05-22 62 views
1

在我的表单中,我有多个字段(隐藏文本框),它们具有相同的名称(eform_id)。 (例如,我有7个隐藏的文本框,其中包含这样的值1234,-1235,1236,1237,-1238,-1239,1240 ...如何将列表分成两个列表

我得到这些值来像这样我的JS文件。

var eformDetailIds=$("[name=eform_id]").map(function(){ 
    return $(this).val() }).get(); 

现在我的要求就是我有这个eformDetailIds分成两个列表..(或逗号分隔值的字符串),这样一个列表包含所有正面的价值观和第二列表包含所有负值..

这是一个非常紧急的要求,我正在寻求你的帮助。 请帮我合适的公司这解决了我的问题。

Thans提前 -sathya

回答

1

好:

var positives = $.map(eformDetailIds, function(e) { return e >= 0 ? e : null; }); 
var negatives = $.map(eformDetailIds, function(e) { return e < 0 ? e : null; }); 

如果从返回null “.MAP()” 的回调,那么什么都被添加到结果数组。

你也可以用一个简单的(R)做到这一点for循环:

var positives = [], negatives = []; 
for (var i = 0; i < eformDetailIds.length; ++i) 
    if (eformDetailIds[i] >= 0) 
    positives.push(eformDetailIds[i]); 
    else 
    negatives.push(eformDetailIds[i]); 
} 

如果你想有一个逗号分隔的字符串的形式,只需要调用“加入()”的阵列上:

var strsPositive = positive.join(','); 
+0

非常感谢你Pointy.i会试试这个,让你知道结果。似乎它会工作..非常感谢你和你的快速回复。 – Satya 2011-05-22 19:00:42