Javascript 在每个循环中连接字符串
这可能是一个愚蠢的问题,但我似乎找不到,也找不到任何地方 我有一个.each函数,它返回页面上一堆div的id,然后给它们分配一个数字。我需要将它们作为一个字符串以特定格式输出,这样我就可以将它们传递到数据库,并将它们用作“排序顺序”值。(我通过数据库中的存储过程将其拆分) 这是我的密码:Javascript 在每个循环中连接字符串,javascript,jquery,string,concatenation,Javascript,Jquery,String,Concatenation,这可能是一个愚蠢的问题,但我似乎找不到,也找不到任何地方 我有一个.each函数,它返回页面上一堆div的id,然后给它们分配一个数字。我需要将它们作为一个字符串以特定格式输出,这样我就可以将它们传递到数据库,并将它们用作“排序顺序”值。(我通过数据库中的存储过程将其拆分) 这是我的密码: jQuery('#updateAllContentButton').click(function() { var count = 1; jQuery('.CommentaryItem').each(
jQuery('#updateAllContentButton').click(function() {
var count = 1;
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
var data_str = (id + ':' + count + '~');
console.log(data_str);
count++;
});
});
这会在单独的一行上返回每个数据,但我需要它像这样返回:
144:2~145:3~146:4~147:4~148:5(依此类推)
任何帮助都将不胜感激,谢谢 您可以使用一个数组。像这样
jQuery('#updateAllContentButton').click(function() {
var count = 1;
var arr = [];
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
var data_str = (id + ':' + count + '~');
arr.push(data_str);
//console.log(data_str);
count++;
});
console.log(arr.join());
});
使用并加入:
jQuery('#updateAllContentButton').click(function() {
console.log(jQuery('.CommentaryItem').map(function(i) {
return GetID(jQuery(this)) + ':' + (i+1);
}).get().join('~'));
});
请注意,您不必自己计算:大多数jQuery迭代函数都会为您计算。尝试以下方法:
jQuery('#updateAllContentButton').click(function() {
var count = 1;
var data_str = "";
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
data_str += (id + ':' + count + '~');
console.log(data_str);
count++;
});
})) 变化
var data_str = (id + ':' + count + '~');
到
完整代码
jQuery('#updateAllContentButton').click(function() {
var count = 1,
data_str;
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
data_str += (id + ':' + count + '~');
console.log(data_str);
count++;
});
});
我的意思是在数据上使用+=而不是仅仅使用=:)发布后,我确实尝试过这种方法,但是你必须在每个循环之前声明数据,最后它会在末尾添加一个额外的~是的,我已经纠正了:)最好的解决方案仍然是由dystroy发布:)这个语法也可以在字符串连接(+)中调用。
jQuery('#updateAllContentButton').click(function() {
var count = 1,
data_str;
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
data_str += (id + ':' + count + '~');
console.log(data_str);
count++;
});
});