Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Использовать текст как имя переменной


Автор: finogeev 13.4.2014, 09:04
Сразу скажу что не очень знаком с синтаксисом JS, так что заранее извиняюсь.

У меня в селекте, прописаны назнвания итендификаторов, которые совпадают с названием переменных массива в JS.
Вопрос как правильно использовать полученное value для нужноего мне массива, пример

Код

<select class="form-control calculate_form" id="sel_system_type">  
    <option value="priceArray55994">Для дома</option>
    <option value="priceArray55995">Для дачи</option>
    <option value="priceArray55996">Для магазина</option>
</select>


Код

var priceArray55994 = [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ];
var priceArray55995 = [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ];
var priceArray55996 = [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ];
    
    $(".calculate_form").change(function () {        
        var sysType = $("#sel_system_type").prop("value");
        var sysClass = $("#sel_system_class").prop("value");
        var sysAmount = $("#sel_system_amount").prop("value");
                
// т.е. как мне что бы переменная sysType использовать, что бы обпатиться к массиву имя который является это полученной значение.
//alert(priceArray55994[0][1]);
        
    });


Если я изначально делаю неправильно, скажите ...  :(

Автор: DEER 14.4.2014, 13:08
Код

var priceArrays = {
    'priceArray55994': [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ],
    'priceArray55995': [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ],
    'priceArray55996': [[0, 500, 1000], [0, 700, 1400], [0, 800,  1600] ]};
    
    $(".calculate_form").change(function () {        
        var sysType = $("#sel_system_type").prop("value");
        alert(priceArrays[sysType][0][1]);
    });


http://jsfiddle.net/duMKg/

Автор: finogeev 14.4.2014, 13:15
Громадное спасибо ... если бы знал что можно сделать многомерный массив сразу было бы проще ....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)