2013-05-19 33 views
2

我使用以下代碼(假設使用值HTML輸入字段)的文本字段的集合轉換爲陣列頁上:轉換文本字段的陣列,並且顯示與使用Javascript/Jquery的

var bgimgsarray = $("input[class='image_name_input']").map{function(){return $(this).val();}).get(); 

然後我使用頁面上顯示:

$("#vardisplay").html("var bgimgs = ["+bgimgsarray+"];"); 

顯示爲:

var bgimgs=[image1.jpg,image2.jpg,image3.jpg]; 

不過,我需要它以這樣的方式顯示:

var bgimgs=['image1.jpg','image2.jpg','image3.jpg']; 

除了通知用戶在輸入的開始和結束時,我該怎麼做?我覺得它應該是簡單的,但它使我瘋狂。

回答

3

更改您映射值的方式。

return $(this).val(); 

要:

return "'"+$(this).val()+"'"; 

結束碼:

var bgimgsarray = $("input[class='image_name_input']").map{function(){return "'"+$(this).val()+"'";}).get(); 

你可能想確保你不會增加額外的'■當用戶鍵入他們。在這種情況下,使它成爲:

return "'"+$(this).val().replace(/^'|'$/g,'')+"'"; 
+2

我需要更快地鍵入,+1 – tymeJV

+2

啊哈,當然,完全忘了。非常感謝你。並感謝你的正則表達式的一點點,這非常有幫助。 –

1

您應該在構造該數組時添加引號。使用以下行來構建你bgimgsarray變量:

var bgimgsarray = $("input[class='image_name_input']").map{function(){return "'" + $(this).val() + "'";}).get(); 
+0

正是我應該做的,謝謝。 –

+0

@MaverickJohnson謝謝,不客氣! – likeitlikeit