Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.08.2013, 15:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 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 (permalink)  
Старый 12.08.2013, 16:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Mafa, опиши контекст задачи. Уверен, можно запросто обойтись без eval притом без особых усилий.
Ответить с цитированием
  #13 (permalink)  
Старый 12.08.2013, 16:06
Аватар для a_l
a_l a_l вне форума
Кандидат Javascript-наук
Отправить личное сообщение для a_l Посмотреть профиль Найти все сообщения от a_l
 
Регистрация: 15.09.2011
Сообщений: 143

Mafa, а для чего в .activeCountri вам значение 'result[0]'? Почему бы не сократить его до '0'. Чтобы потом использовать result[i], где var i = $(".activeCountri").val();
Ответить с цитированием
  #14 (permalink)  
Старый 12.08.2013, 16:45
Интересующийся
Отправить личное сообщение для Mafa Посмотреть профиль Найти все сообщения от Mafa
 
Регистрация: 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 = "Цена договорная!"}


Как-то так...
Ответить с цитированием
  #15 (permalink)  
Старый 12.08.2013, 16:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 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']
Ответить с цитированием
  #16 (permalink)  
Старый 12.08.2013, 20:00
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от Mafa
Там куча массивов, и в зависимости от выбранного селекта, нужно взять значение из определённого массива.
если это глобальные объекты, то через window:

window['astana']


Но, понятное дело, правильнее их собрать в один, например, cities, как уже посоветовали.
Ответить с цитированием
  #17 (permalink)  
Старый 12.08.2013, 20:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 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.
Ответить с цитированием
  #18 (permalink)  
Старый 13.08.2013, 07:21
Интересующийся
Отправить личное сообщение для Mafa Посмотреть профиль Найти все сообщения от Mafa
 
Регистрация: 21.06.2011
Сообщений: 20

danik.js, ну наконец-то до меня дошло) Спасибо, работает)))
Deff, $(".activeCountri") - это селекторы со списком городов, в зависимости от выбора пользователя, скрипт обращается к определённому массиву) Я не поняла твоего варианта)

Все огромное спасибо, я пока учусь и, чувствую, буду частым гостем тут) Потому как зачастую, в сети сложно найти ответ ввиду того, что не имея опыта сложно сформулировать запрос) А тут человеческим языком спросил - по-человечески ответили) Супер)
Ответить с цитированием
  #19 (permalink)  
Старый 13.08.2013, 07:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати ключи (на самом деле и имена переменных) могут быть на кириллице:
var cities = {
    'астана': [],
    'караганда': [],
};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить функцию при запуске увидеть ГЛОБАЛЬНУЮ переменную? возжаждавший Элементы интерфейса 8 23.02.2017 01:27
Как передать переменную с jquery в php Максим2 jQuery 14 28.07.2013 11:38
Можно ли передать переменную ajax'om ? Vladislav Общие вопросы Javascript 2 18.02.2013 06:34
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58