Есть скрипт калькулятора рассчроки для автосалона.
Основным варьирующимся параметром является срок на который доступна рассрочка. Варьируется он от модели автомобиля, его цены, и процентного соотношения первого взноса к общей сумме.
Самым простым способ я решил использовать многомерный массив примерной такой структуры:
period[car] = [
[ //цена от Х до Y
{'12':'12 месяцев'},//30%
{'12':'12 месяцев','18':'18 месяцев'},//40%
{'12':'12 месяцев','18':'18 месяцев','24':'24 месяцев','30':'30 месяцев'}//50%
],
[
"",//30%
"", //40%
{'12':'12 месяцев'} //50%
] //цена от Y до Z
]
Для обращения к массиву я использую следующую функцию:
if ((period[car][price_group][percent] != undefined)) {
for(key in period[car][price_group][percent])
{
html += '<option '
if (selected == key) {html += 'selected '}
html += 'value="' + key + '">' + period[car][price_group][percent][key] + '</option>\n';
}
} else {
if ((jQuery('#car_price').val() > 0)&(jQuery('#first_payment').val() > 0)) select_warning = true;
}
return (html)
Собсно проблема в строке period[car][price_group][percent] != undefined
Когда значение действительно равно undefined, оно вываливает ошибку в консоль (period[car][price_group] is undefined), вместо того что бы продолжить выполняться по else.
Посмотреть примерно на работу скрипта можно здесь:
http://hyundai-yug-avto.ru/services/rassrochka/