Как присваивать в сразу несколько значений через запятую?
совсем не обязательно все свойства собирать одной строкой, можно же и отдельно )
а потом просто объединить "пробелом" как-то так$('.item-add').click(function() {
    var $desc   = $(this).closest('.item-description')
      , t_name  = $desc.find('.item-name').text()
      , t_price = $desc.find('.item-price').text()
      , ...
    $('.items-cart').attr('value', [t_name, t_price].join(" "));
});
а можно написать небольшой "сборщик" полей и потом просто указывать нужные, например вот так$('.item-add').click(function() {
    $('.items-cart').attr('value', get_items($(this), "name structure weight price", " "));
})

function get_items($el, fields, separator) {
    var $desc = $el.closest('.item-description')

    return ($.map(fields.split(" "), function(field_name){
        return $desc.find(".item-" + field_name).text()
    })).join(separator)
}
начинай с корневого элемента и последовательно проходи по его потомкам$(this).closest('.item-description').find('item-description').text().end().find('item-structure').text().end().....