Как я могу добавить значение textarea для запуска через массив - PullRequest
1 голос
/ 09 марта 2011

У меня есть массив, созданный путем взятия значений всех ссылок в div, когда я добавляю значения в текстовую область, чтобы отправить их на мой сервер, он тянет только последний, используя консоль, я заметил, что массивудерживая все значения, как и предупреждение, когда я его установил, так как я могу объединить все значения в одну длинную строку с запятыми или чем-то?Вот мой код

 $(".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 ]

1 голос
/ 09 марта 2011

Вы можете использовать метод соединения массивов Javascript:

$("#CAT_Custom_196863").val($.MakeArray($('li.item-link a')).join(", "));

Кстати, Блэр Макмиллан прав, вы устанавливаете все значение, а не добавляете к нему.

1 голос
/ 09 марта 2011

Метод 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);
});
1 голос
/ 09 марта 2011

Ваша строка $("#CAT_Custom_196863").val(value); устанавливает значение целом на самое последнее value.

Вместо этого используйте что-то вроде:

$("#CAT_Custom_196863").val($("#CAT_Custom_196863").val() + ', ' + value);
0 голосов
/ 09 марта 2011

попытка

$.map(arr, function(value, index) {
    return arr.join(",");
});

отдых логика

...