2012-02-03 52 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

相關問題