12.08.2013, 15:52
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от Mafa
|
Мой result тут:
var result = $(".activeCountri").val();
А потом надо "достучаться" до массива с именем result:
if(maxves <= 50){alert(result[0]);}
|
Как вариант...
var o={};
o.result=[1,2,3,4,5];
test("result");
function test(Name) {
alert(o[Name][0]);
};
|
|
12.08.2013, 16:04
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Mafa, опиши контекст задачи. Уверен, можно запросто обойтись без eval притом без особых усилий.
|
|
12.08.2013, 16:06
|
|
Кандидат Javascript-наук
|
|
Регистрация: 15.09.2011
Сообщений: 143
|
|
Mafa, а для чего в .activeCountri вам значение 'result[0]'? Почему бы не сократить его до '0'. Чтобы потом использовать result[i], где var i = $(".activeCountri").val();
|
|
12.08.2013, 16:45
|
Интересующийся
|
|
Регистрация: 21.06.2011
Сообщений: 20
|
|
Неее, ребята. Там куча массивов, и в зависимости от выбранного селекта, нужно взять значение из определённого массива.
var astana = [20000, 27500, 37500, 48000, 60000, 80000, 100000, 115000, 115]
var karaganda = [31000, 38500, 51500, 63500, 83500, 113000, 139000, 144000, 144]
var almata = [20000, 27500, 37500, 50000, 65000, 83000, 105000, 125000, 125]
var taraz = [25000, 35000, 47500, 67000, 85000, 106000, 134000, 165000, 160]
var schimkent = [25000, 35000, 52500, 69000, 87000, 108000, 137000, 170000, 165]
var kyzylorda = [27000, 37000, 51500, 71000, 100000, 128000, 165000, 200000, 180]
var kokschetau = [33000, 35000, 51500, 66500, 88000, 112000, 138000, 143000, 155]
var petropavl = [34000, 39000, 52000, 68000, 98000, 122000, 146000, 150000, 161]
var kostanay = [34000, 39000, 52000, 58000, 75000, 115000, 140000, 145000, 155]
var pavlodar = [34000, 39000, 52500, 68000, 90500, 115000, 140000, 145000, 160]
var semey = [35000, 38500, 54500, 71000, 95500, 120000, 138000, 143000, 165]
var uskaman = [36000, 38500, 55000, 72500, 97800, 120000, 145000, 150000, 165]
А в зависимости от введённого числа - получить доступ к определённому значению этого определённого массива)))))))
var count = eval($(".activeCountri").val());
if(maxves <= 50){var resv = count[0]}
else if(100 >= maxves && 51 <= maxves){var resv = count[1]}
else if(200 >= maxves && 101<= maxves){var resv = count[2]}
else if(300 >= maxves && 201<= maxves){var resv = count[3]}
else if(500 >= maxves && 301<= maxves){var resv = count[4]}
else if(600 >= maxves && 501<= maxves){var resv = count[5]}
else if(800 >= maxves && 601<= maxves){var resv = count[6]}
else if(1000 >= maxves && 801<= maxves){var resv = count[7]}
else if(2000 >= maxves && 1001<= maxves){var resv = maxves * count[8]}
else{var resv = "Цена договорная!"}
Как-то так...
|
|
12.08.2013, 16:55
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Пиши так:
var cities = {
astana: [20000, 27500, 37500, 48000, 60000, 80000, 100000, 115000, 115],
karaganda: [31000, 38500, 51500, 63500, 83500, 113000, 139000, 144000, 144]
};
Так ты сможешь обратиться к значению через ключ имея строку (о чем было уже сказано выше):
cities['astana']
|
|
12.08.2013, 20:00
|
Профессор
|
|
Регистрация: 12.04.2010
Сообщений: 557
|
|
Сообщение от Mafa
|
Там куча массивов, и в зависимости от выбранного селекта, нужно взять значение из определённого массива.
|
если это глобальные объекты, то через window:
window['astana']
Но, понятное дело, правильнее их собрать в один, например, cities, как уже посоветовали.
|
|
12.08.2013, 20:09
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
var result = '$(".activeCountri").val()';
ток когда нужно if(...)eval(result)
Хотя кошернее:
var result[1] = function(){return $(".activeCountri1").val()}
var result[2] = function(){return $(".activeCountri2").val()}
var a1=result[1]();
var a2=result[2]();
Последний раз редактировалось Deff, 12.08.2013 в 20:17.
|
|
13.08.2013, 07:21
|
Интересующийся
|
|
Регистрация: 21.06.2011
Сообщений: 20
|
|
danik.js, ну наконец-то до меня дошло) Спасибо, работает)))
Deff, $(".activeCountri") - это селекторы со списком городов, в зависимости от выбора пользователя, скрипт обращается к определённому массиву) Я не поняла твоего варианта)
Все огромное спасибо, я пока учусь и, чувствую, буду частым гостем тут) Потому как зачастую, в сети сложно найти ответ ввиду того, что не имея опыта сложно сформулировать запрос) А тут человеческим языком спросил - по-человечески ответили) Супер)
|
|
13.08.2013, 07:35
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Кстати ключи (на самом деле и имена переменных) могут быть на кириллице:
var cities = {
'астана': [],
'караганда': [],
};
|
|
|
|