我正在使用jquery在我的数组中动态推送新值。
然后生成一个类似于[1,2,3,4,5]
的数组,我希望它看起来像这样['1','2','3','4','5']
这样它就可以在我的应用中使用。
修改
$(document).ready(function(){
$('.bookmark').live('click',function(){
var element = $(this);
var Id = element.attr("id");
var I = element.attr("attr");
var info = 'id=' + Id;
var myArray = ('{{r.bookmarks}}'); #gets data from datastore..
var myOtherArray = ''+Id; #current number i want to submit
myArray.push(String( myOtherArray ));
var arr = myArray;
$('#array'+Id).val(arr); #newly formed array value added
var submitData = $('#array'+Id).serialize();
$.ajax({
type: "POST",
url: "/addpage/{{user.email}}", #page submit
data: submitData,
success: function(msg){
if(parseInt(msg)!=0)
{
$('.i'+Id).text('remove');}
}
});
return false});
});
形成的数组是1,2,3,4,5,6,7,8,9,10,我希望它像这样['1','2','3','4' , '5', '6', '7', '8', '9', '10']。
请帮忙。
答案 0 :(得分:6)
var array_of_strings = array_of_numbers.map(String);
或者在你推动时这样做:
arr.push(String(yournumber));
好的,现在您已经发布了代码。变化:
$('#array'+Id).val(arr);
为:
$('#array'+Id).val(JSON.stringify(arr.map(String)));
您不能将数组放入表单元素的值中。您可以使用JSON.stringify()
将其转换为JSON格式,即Javascript文字数组表示法。
答案 1 :(得分:5)
[1,2,3,4,5].join(',').split(',');
答案 2 :(得分:0)