2

我正在使用以下代码将文本字段集合转换为数组(假设 HTML 输入字段带有值):

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'];

除了通知用户将 ' 放在输入的开头和结尾之外,我将如何实现这一点?我觉得它应该很简单,但它让我发疯。

4

2 回答 2

3

更改映射值的方式。

return $(this).val();

至:

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

结束代码:

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

您可能希望确保'在用户键入它们时不要添加额外的 s。在这种情况下,使它:

return "'"+$(this).val().replace(/^'|'$/g,'')+"'";
于 2013-05-19T23:32:05.303 回答
1

在构造该数组时,您应该已经添加了引号。使用以下行来构造bgimgsarray变量:

var bgimgsarray = $("input[class='image_name_input']").map{function(){return "'" + $(this).val() + "'";}).get();
于 2013-05-19T23:32:21.667 回答