2012-02-03 53 views
2

我有4个输入文本字段和一个应从各个字段收集值的文本字段。收集几个输入字段并用jquery插入到单个字段中

<input type="text" class="collector"> 

<input type="text" class="collected"> 
<input type="text" class="collected"> 
<input type="text" class="collected"> 
<input type="text" class="collected"> 

收集输入是文本和预期要被插入到集电极原样。 所以NULL也应该与值一起发送。

收藏家预计看起来像: 数据1 |空|数据3 |数据4

所以当没有给定值时接受空值,只是为了维护PHP爆炸和爆裂的过程。

我坚持,我的jQuery只选择其中的一个,因为我不知道如何聚合单独收集的值到一个数组:

$('input.collector').val($(".collected").text()); 

任何暗示是非常赞赏。由于

回答

4

试试这个:

$('input.collector').val(function() { 
    return $(".collected").map(function() { 
     return $(this).val() || 'NULL'; 
    }).get().join('|'); 
}); 

演示http://jsfiddle.net/DDQ8s/

+2

+1。 – 2012-02-03 20:36:25

+0

+1也是出于同样的原因。 – Blender 2012-02-03 20:37:54

+0

非常感谢,它像魅力一样工作。再次感谢你 – swan 2012-02-03 20:45:12

2
var text= ""; 
$(".collected").each(function(){ 
    text += "|" + $(this).val(); 
}); 

$(".collector").val(text.substring(1,text.length)); 

例子:http://jsfiddle.net/nT8NF/

+0

谢谢,但我得到的结果:未定义|数据1 ||数据3 |数据4.没关系,Null只是空的。但是,我收到了4个字段中的5个(奇怪的是第一个总是:未定义)。再次感谢 – swan 2012-02-03 20:37:32

+0

我刚更新了代码,再试一次,看看小提琴。我把它写在了我的头顶。 – 2012-02-03 20:39:48

+0

是的,现在完美工作。尽管对于最终用户可读性,我需要一个比空更好的Null,尽管空更加高效。与'.each'相比,感谢使用'.map'的 – swan 2012-02-03 20:47:27

相关问题