Сообщение от laimas
|
Во-первых нужно проверять тогда, что это список, а не поле ввода, вы же коллекцию обоих наборов просматриваете.
if(this.tagName=='SELECT') $(this).text() это и будет текст выбранной опции. К тому же тогда нужны тексты и для других значений, а если так паковать в строку, то в textarea все будет в одну строку. Лучше
var orderInfo = [];
и помещая в этот массив одну строку из калькулятора, в textarea записать массив как orderInfo.join('\n').
|
сам смысл понятен, с реализацией не все получается.
$(function () {
var orderInfo = [];
$(".roword select, .roword input").map(function()
{
if(this.tagName=='SELECT')
orderInfo += $(this).find('option:selected').text();
else
orderInfo += ' | ' + this.value;
});
$("#orderItems").html(orderInfo);
});
пытался сделать по-разному, но это единственный рабочий вариант.
Вы сказали, что всю (одну) строку брать из калькулятора в массив, как понял, это:
$(".roword").map(function()
результат нулевой.
также у меня не работает orderInfo.join('\n')
как понимаю я, если записывать в textarea, то это должно быть:
$("#orderItems").html(orderInfo.join('\n'));
Возможно, не работает из-за некорректной реализации массива.