我有一个通过获取div中所有链接的值创建的数组,当我将值添加到textarea以将它们发送到我的服务器时,它只是拉动最后一个,使用控制台我注意到该数组是保存所有值,就像我设置它时的警报一样,那么如何将所有值连接成一个带逗号或其他内容的长字符串?这是我的代码
$(".populate").click(function(){
var array = $.makeArray( $('li.item-link a'));
jQuery.each(array, function(index, value) {
console.log("index", index, "value", value);
alert(value);
$("#CAT_Custom_196863").val(value);
});
});
任何想法?
一切顺利 塔拉
答案 0 :(得分:1)
您的$("#CAT_Custom_196863").val(value);
行将整个值设置为最新的value
。
而是使用类似的东西:
$("#CAT_Custom_196863").val($("#CAT_Custom_196863").val() + ', ' + value);
答案 1 :(得分:1)
val方法替换当前值。试试这个:
$(".populate").click(function(){
var array = $.makeArray( $('li.item-link a'));
var newVal = '';
jQuery.each(array, function(index, value) {
console.log("index", index, "value", value);
alert(value);
newVal += value + ','; // comma?
});
// In order to skip the last comma, uncomment this line:
// if(newVal.length > 0) newVal = newVal.substr(0, newVal.length - 1);
$("#CAT_Custom_196863").val(newVal);
});
答案 2 :(得分:1)
您可以使用Javascript数组的连接方法:
$("#CAT_Custom_196863").val($.MakeArray($('li.item-link a')).join(", "));
BTW Blair McMillan是正确的,你设定的是整个价值,而不是加入它。
答案 3 :(得分:0)
试
$.map(arr, function(value, index) {
return arr.join(",");
});
休息是逻辑