Показать сообщение отдельно
  #58 (permalink)  
Старый 04.07.2017, 19:26
Аспирант
Отправить личное сообщение для ФедорН Посмотреть профиль Найти все сообщения от ФедорН
 
Регистрация: 19.06.2017
Сообщений: 40

Сообщение от 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'));

Возможно, не работает из-за некорректной реализации массива.

Последний раз редактировалось ФедорН, 04.07.2017 в 19:35.
Ответить с цитированием