• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/businessvalue.php
  • Класс: BitrixSaleHelpersAdminBusinessValueControl
  • Вызов: BusinessValueControl::bizvalChangeValue
function bizvalChangeValue(valueElement)
		{
			'use strict';

			var path = valueElement.name.split('[');

			if (! (path.length == 6
				&& path[1] == 'MAP]'
				&& path[5] == 'PROVIDER_VALUE]'
				&& path[4] == ']'
			)) return;

			// [  0  ][ 1 ][ 2 ][ 3 ][4][    5         ]
			// mBizVal[MAP][1CC][ZIP][2][PROVIDER_VALUE]

			var keyElement = valueElement.parentNode.previousSibling.firstChild, value,
				elements = document.querySelectorAll('input, select, textarea'), // TODO
				i = 0, length = elements.length;

			switch (valueElement.type)
			{
				case 'checkbox': value = valueElement.checked ? 'true' : ''; break;
				default:         value = valueElement.value;
			}

			for (; i < length; ++i)
			{
				var de = elements[i],
					p = de.name.split('[');

				if (p.length == 6
					&& p[0] == path[0] && p[1] == path[1] && p[2] == path[2] && p[3] == path[3]
					&& p[4] != path[4] // self exclude
					&& p[5] == 'DELETE]')
				{
					de.setAttribute('data-default-key', keyElement.value);
					de.setAttribute('data-default-value', value);

					var we = de.parentNode,
						v = valueElement.type == 'checkbox' ? we.previousSibling.firstChild.nextSibling.checked : we.previousSibling.firstChild.value;

					if (value)
					{
						if (de.checked || ! v)
						{
							de.checked = true;
							bizvalToggleDelete(de);
						}

						we.style.display = 'inline';
					}
					else
					{
						if (de.checked)
						{
							de.checked = false;
							bizvalToggleDelete(de);
						}

						we.style.display = 'none';
					}
				}
			}
		}