Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 24

Смена значения в зависимости от выбора селекта

13.02.2015, 23:02. Показов 2022. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать код, есть select - доступа ко всему коду нет, только посредством js


Есть динамические страницы на них есть SELECT с опциями
HTML5
1
2
3
4
5
6
<select id="selectID" name="id">
            <option value="1" selected>Название 1</option>
                        <option value="2">Название 2</option>
                        <option value="3">Название 3</option>
                        <option value="4">Название 4</option>
</select>
На страницах также есть span с классом, внутри которого числовое значение
HTML5
1
<span class="summcount">3500</span>
Нужно, чтобы при выборе второй опции - число которое находится в span делилось например на 0,45,
при выборе третьей опции делилось на 0.46, при выборе четвертой опции на 0,47.

На селектах уже установлены куки, и если у пользователя уже стоит третья опция, то это значение - соответственно должно умножаться, на то число, которое задано.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2015, 23:02
Ответы с готовыми решениями:

Как реализовать появление полей формы в зависимости от выбранного значения селекта?
Здравствуйте! Подскажите, как реализовать появление дополнительных полей формы в зависимости от значения селекта (выпадающего списка)? ...

Смена изображения в зависимости от значения
Доброго времени суток, уважаемые форумчане. Помогите, пожалуйста, сделать смену изображения в зависимости от значения. Значение...

Смена цвета текста, в зависимости от значения
Приветствую. Вот какое дело. Вступление У меня есть страничка вывода заказов. Там в таблице есть столбец &quot;Статус&quot;....

8
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
14.02.2015, 13:23
Можно так
PHP
1
2
if(isset($_COOKIE['operation']))$operation = 'share';
else $operation= 'multiply';
HTML5
1
2
3
4
5
6
<select name="<?=$operation?>" id="selectID" name="id">
                        <option value="0.45" selected>Название 1</option>
                        <option value="0.46">Название 2</option>
                        <option value="0.47>Название 3</option>
                        <option value="0.48">Название 4</option>
</select>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$('#selectID').click(function(){
      if(($(this).attr("name")) == 'share'){
             res = ($(this).val()) / ($(".summcount").html());
             $(".summcount").html(res); 
      }
      else {
             res = ($(this).val()) * ($(".summcount").html());
             $(".summcount").html(res); 
      }
      
}
Как то вот так, думаю под себя уже подстроите
0
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 24
14.02.2015, 14:09  [ТС]
Дело в том что доступу к этому селекту нет, он и есть в таком в виде, который я показываю, но он имеет свой id, за счет чего можно получить к нему доступ.
HTML5
1
2
3
4
5
6
<select id="selectID" name="id">
            <option value="1" selected>Название 1</option>
                        <option value="2">Название 2</option>
                        <option value="3">Название 3</option>
                        <option value="4">Название 4</option>
</select>
Значения VALUE, тоже изменять не нужно... они есть как есть.

Нужно сделать так:
Если стоит ПЕРВАЯ опция, то числовое значение, которое в теге <span class="summcount">3500</span> остается 3500.
Если пользователь выбрал ВТОРУЮ опцию, то значение, которое находится в теги SPAN делится на число, заданное в скрипте например 0.45
Если пользователь выбрал ТРЕТЬЮ опцию, то значение, которое находится в теги SPAN делится на число, заданное в скрипте например 0.46
Если пользователь выбрал ЧЕТВЕРТУЮ опцию, то значение, которое находится в теги SPAN делится на число, заданное в скрипте например 0.47.
Однако, если пользователь зашел на страницу и у него уже выбрана 3 опция, к примеру... то значение в теге SPAN должно, уже быть поделено на 0.46
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
15.02.2015, 05:18
Лучший ответ Сообщение было отмечено orbblood как решение

Решение

Набросал на чистом JS. Ловите.
1
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 24
15.02.2015, 12:16  [ТС]
Вы правильно поняли, самое то! Чуть изменил под себя и все работает, как надо

Добавлено через 2 часа 8 минут
Еще вопрос, а если на странице к примеру будет
HTML5
1
2
3
4
<span id="summcount">3500</span>
<span id="summcount">2500</span>
<span id="summcount">33500</span>
<span id="summcount">34500</span>
более 1000 тегов, с одинаковым айди, но с разными значениями, как сделать тоже самое действие для каждого, как построить цикл?
0
1 / 1 / 0
Регистрация: 08.08.2013
Сообщений: 16
15.02.2015, 12:21
используй одинаковые классы, ИД не тру.)) ну и воодить на нужные, доп атрибуты и по ним делать массив
0
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 24
16.02.2015, 21:20  [ТС]
не совсем понятно, что вы написали, к примеру есть такой код - и его функции работают только с первым попавшимся айди summcount, а если на странице будет 1000 и более таких айди?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var default_result=document.getElementById('summcount').innerHTML;
 
(function(){
    var sel=document.getElementById('selectID');
    my_func(sel);
})()
 
function my_func(sel){
    var 
        opts=[],
        opt,
        val,
        divider={'1':'1','2':'0.45','3':'0.46','4':'0.47'},
        result=default_result
    ;
    for(var i=0;i<sel.options.length;i++){
        opt=sel.options[i];
        if(opt.selected){
            val=opt.value;
            opts.push(val);
            val=divider[val];
        }
    }
    if(opts.length==0){
        result=default_result;
    }else{
        result=default_result*val;
    }
    document.getElementById('summcount').innerHTML=result;
}
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
16.02.2015, 23:47
Тут уже нужен jQuery.
0
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 24
19.02.2015, 08:55  [ТС]
Да это понятно, что он тут нужен.
Метод .each() или get_object_vars?
Подскажите, пожалуйста.. если я правильно понимаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2015, 08:55
Помогаю со студенческими работами здесь

Заполнение данных в зависимости от выбора пункта и суммирование в зависимости от выбора
Всем уважаемым участникам форума доброго времени суток! Помогите пожалуйста разобраться с задачей. -------------------------------- ...

Значения в ячейке в зависимости от выбора из списка
Всем привет! Задача у меня такая: Есть файл с реквизитами различных компаний (Название, ИНН, КПП, Ген.дир и т.п.) Нужно: сделать...

Копирование значения в зависимости от выбора ячейки
Добрый день! Такая ситуация с экселем. Сразу скажу что почти ничего не знаю в VBA. Вообщем есть 2 листа, во 2м листе запись такого вида ...

Фильтрация в combobox в зависимости от выбора значения
Добрый вечер. Во вложении файл. Необходима помощь в решении следующей проблемы: Существует лист &quot;приход&quot; поступление...

Запись в Memo значения в зависимости от выбора в ComboBox
написал такой код но он не работает.Мне нужна что бы при нажатие на combobox1 в мему 2 написальса соответствующий qород из первово мэмо1 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru