如何附加textarea值来运行数组

时间:2011-03-09 11:39:46

标签: jquery forms append

我有一个通过获取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);
   });
 });

任何想法?

一切顺利 塔拉

4 个答案:

答案 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(",");
});

休息是逻辑