Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2016, 03:39
Новичок на форуме
Отправить личное сообщение для zoldiar Посмотреть профиль Найти все сообщения от zoldiar
 
Регистрация: 18.11.2016
Сообщений: 4

Как вставить значение переменной из списка внутри скрипта
Здравствуйте! Подскажите пожалуйста как подставить переменные в $(this).val();
Как сделать чтобы определялась переменная, а не текст rm1, rm2, rm3 ?

var rm = 0; 
var rm1 = 100; 
var rm2 = 150; 
var rm3 = 50; 

var i=1;
$("input:checked").each(function(){
var rrr = 'rm'+i++; // - проблема
$(this).val(rrr);
});
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2016, 04:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

zoldiar,
$("input:checked").each(function(i, el){
el.value = [0,100,150,50][i]
});
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2016, 05:53
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

zoldiar,
Ваш код будет рабочим в таком виде.
var rm0 = 0;
var rm1 = 100;
var rm2 = 150;
var rm3 = 50;
 
$("input:checked").each(function(i){
var rrr = eval('rm' + i);
$(this).val(rrr);
});


Но лучше взять на вооружение пример рони.

Последний раз редактировалось join, 18.11.2016 в 05:55.
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2016, 08:44
Новичок на форуме
Отправить личное сообщение для zoldiar Посмотреть профиль Найти все сообщения от zoldiar
 
Регистрация: 18.11.2016
Сообщений: 4

Спасибо. Вариан с
var rrr = eval('rm' + i);
больше подходит
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2016, 08:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от zoldiar Посмотреть сообщение
Спасибо. Вариан с
var rrr = eval('rm' + i);
больше подходит
Это не так.
Это самый "последний" вариант, что может быть использован.
Ответить с цитированием
  #6 (permalink)  
Старый 18.11.2016, 09:25
Новичок на форуме
Отправить личное сообщение для zoldiar Посмотреть профиль Найти все сообщения от zoldiar
 
Регистрация: 18.11.2016
Сообщений: 4

Ну, мне не совсем понятно
var rm1 = 100; // цена1 за услугу  в checkbox
var rm2 = 150; // цена2 за услугу  в checkbox
var rm3 = 50; //  цена3 за услугу  в checkbox

$("input").click(function() {
var sum = 0; var i=1;
$("input:checked").each(function((i, el){ // должна вызываться сама при клике. Откуда взялась el?
el.value = [0,100,150,50][i] // как я узнаю какая цена у какого checkbox? и как присвоить ее нужному checkbox?
sum += + $(this).val();
}); 
$('#total').val(sum * $('#metrazh').val());
});


Для моих знаний это сложновато

Последний раз редактировалось zoldiar, 18.11.2016 в 09:34.
Ответить с цитированием
  #7 (permalink)  
Старый 18.11.2016, 09:28
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от zoldiar
как я узнаю какая цена у какого checkbox?
У чекбоксов есть атрибут value, храни сумму там... Есть еще data-атрибуты, храни в них...

В локальные переменные ты ведь как-то засунул те суммы.
Ответить с цитированием
  #8 (permalink)  
Старый 18.11.2016, 09:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

zoldiar,
бред какой-то ...
Ответить с цитированием
  #9 (permalink)  
Старый 18.11.2016, 09:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от zoldiar
el.value = [0,100,150,50][i] // как я узнаю какая цена у какого checkbox?
В твоем посте-примере
Как вставить значение переменной из списка внутри скрипта
Ты сопоставляешь с порядковым номером элемента. Вот тебе и показали другой вариант сопоставления с тем же порядковым номером.

А так, есть метод
http://jquery-docs.ru/core/index/#subject
Он позволяет узнать "порядковый номер" элемента в некоем списке...
Ответить с цитированием
  #10 (permalink)  
Старый 18.11.2016, 09:54
Новичок на форуме
Отправить личное сообщение для zoldiar Посмотреть профиль Найти все сообщения от zoldiar
 
Регистрация: 18.11.2016
Сообщений: 4

Сообщение от ksa Посмотреть сообщение
У чекбоксов есть атрибут value, храни сумму там... Есть еще data-атрибуты, храни в них...

В локальные переменные ты ведь как-то засунул те суммы.
Спасибо data то что нужно. ларчик оказывается открывался совсем просто
$("input").click(function() {
var sum = 0;
$("input:checked").each(function(){
$(this).val($(this).data("price") * $('#metrazh').val());
sum += + $(this).val();
}); 
});

Последний раз редактировалось zoldiar, 18.11.2016 в 10:09.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как присвоить значение полученное GET-запросом переменной? 4arizard Общие вопросы Javascript 2 20.09.2016 16:23
Проблемы с выпадающим списком JavaScript ursus102 Общие вопросы Javascript 0 16.01.2016 19:30
Как связать значение с переменной? oneplus Элементы интерфейса 2 19.08.2015 17:31
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42