2012-01-06 2 views
0

У меня есть список ссылок на pdf. Пользователи могут установить флажок для каждого PDF-файла, а затем отправить форму, которая запустит электронное письмо (используя mailto :) с выбранными элементами.jQuery массив populating mailto link добавление запятых

Все работает нормально, за исключением тела письма, выбранный массив PDFs разделяется запятой, поэтому запятая появляется в теле письма.

Может ли кто-нибудь помочь мне избавиться от запятой, которая их разделяет?

Тина

http://tinyurl.com/7v4deh2

ответ

1

Обновить ваш сценарий, как показано ниже, и дайте мне знать, если он работает,

$('#send-email').submit(function(){ 
    var selectedpdfs = ''; 
    $('#send-email input:checkbox:checked').each(function(i){ 
     // All selected pdfs: gets link's text and link's url 
     selectedpdfs += $(this).prev().text() + '%0a' + $(this).prev().attr('href') + '%0a%0a' 
    }); 
    //alert(selectedpdfs); 
    window.location.href = 'mailto:?subject=Materials&body='+selectedpdfs 
    return false; 
}); 

Примечание: Я изменил selectedpdfs к строковому объекту и изменил его в строку конкатенации.

Array to String -> вернет вам список строк, разделенных запятыми.

+0

Да, это сработало! Omg спасибо ... – user1043804

+0

Пожалуйста, отметьте это как ответ/проголосуйте за закрытие. –

0

использовать join() в массиве, чтобы объединить их в строку, вы можете указать, какой символ следует разграничить.

например. selectedpdfs.join(' ') вернет строку, ограниченную пробелом.

http://jsfiddle.net/qiao/HmWf3/1/ для живой демонстрации