Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
1

Не могу разобраться как написать скрипт для блоков

19.07.2012, 22:59. Показов 1545. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть следующая из базы данный с помощью PHP создаются блоки на сайте блоки див в этих блоках
блоку див в ид ставится blok + номер товара в блоки span и imput по такой же аналогии new_cena + номер товара и kol + номер товара.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
блок 1
<div id="blok001"><span class='new_cena001'>300</span>
<input class='kol001' value='1'></div>
 
блок 2
<div id="blok002"><span class='new_cena002'>300</span>
<input class='kol003' value='1'></div>
 
блок 3
<div id="blok003"><span class='new_cena003'>300</span>
<input class='kol003' value='1'></div>
 
блок 4
<div id="blok004"><span class='new_cena004'>300</span>
<input class='kol004' value='1'></div>
нужно сделать чтобы скрипт просматривал значение из блока СПАН у каждого блока уникальный клас или id могу сделать.таких блоков на странице около 30 в спан прописывается цена товара ну а импут количество.
Нужно чтобы при изменении количества он изменял сумму самого товара. Только надо как то чтобы для каждого блока брал именно из этого блока цену и количество.
Как я думаю нужно цикл использовать while может и нет. Чесно говоря слабо понимаю как это сделать может нужно изменить структуру присвоения ид или классов.
Уважаемые форумчане помогите плис. Всю голову себе сломал. Если можно то с объяснением чтоб я понимал как это работает))))) Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2012, 22:59
Ответы с готовыми решениями:

Не могу разобраться, как написать ввод данных для кода
Здравствуйте. Нарыл я в инете код для реализации Недетерминированного Конечного Автомата, но есть...

Не могу написать комментарии для функции поиска, не могу разобраться...
void __fastcall TForm1::FindDialog1Find(TObject *Sender) { int found, start, end; //...

Сетка bootstrap + попиксельная вёрстка + адаптивность, не могу разобраться с размерами блоков
Пытаюсь скрафтить себе шаблон из psd для сайта портфолио, сначала сверстал без сетки бутстрапа, и...

Не могу написать скрипт для type=radio
Есть 3 блока с radio. Нужно сделать так, что бы в каждом блоке был выбран radio и после этого...

10
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
19.07.2012, 23:18 2
1. Вы не указали HTML-код места, где указывается сумма. И вообще не очень ясно - сумма нужна по каждому товару или общая по всем блокам?

2. Из вашего объяснения не очень ясно - по какому именно событию должна пересчитываться эта (какая?) сумма.
Просто по изменению содержания тега <input> каждого блока?
А если пользователь пропишет туда -1, вы, наоборот, не с него деньги брать будете, а ему деньги начислять будете?
0
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
20.07.2012, 06:54  [ТС] 3
Сумма указывается здесь.
HTML5
1
<div id="blok003"><span class='new_cena003'>300</span>
Тоесть по изменению значения импута сумма с 300 меняется на 600 900 1200 и т.д
Опять же пловерка нужжна на целые числа и на отрицательные.
Сумма нужна по каждому товару ну да и было бы не плохо если бы еще в какуюто переменную общюю сумму записывал.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
20.07.2012, 11:37 4
kenni,
--в первом своём сообщении вы написали: "в спан прописывается цена товара ну а импут количество"
--во втором своём сообщении пишете, что в этот же спан надо вписывать сумму.

В уравнении 3 операнда: цена, количество и сумма (равная произведению первого и второго).
Для всех трёх надо бы иметь своё место для показа. Нет?

В общем, определитесь.
Дайте точный HTML-код одного блока.
1
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
20.07.2012, 12:22  [ТС] 5
В спанах значение 300 надо сделать так чтобы при езмении значения импута изменялось значение в спане.
HTML5
1
2
<div id="blok004"><span class='new_cena004'>300</span>
<input class='kol004' value='1'></div>
Добавлено через 2 минуты
Тоесть чтобы срабатывала формула значение спана = значение спана * значение импута. По умолчания все импуты ==1
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
20.07.2012, 12:27 6
kenni, ЦЕНА - это стоимость единицы товара.
Если товаров более одного, то ЦЕНА останется той же, а вот СУММА ПОКУПКИ изменится - она будет равна произведению количества товара на ту же самую неизменную ЦЕНУ.

Так что именовать класс span'а как 'new_cena004' и в него засовывать СУММУ ПОКУПКИ - это как-то совсем не по-русски.

Хотя... если для вас <input> после пятого моего предупреждения остаётся иМпутом, то разговаривать нам с вами вовсе не о чем.

Человек, неспособный справиться с родной грамматикой, ни разу не сможет быть программистом - там ведь вообще оперировать надо с иностранным языком.
1
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
20.07.2012, 12:50  [ТС] 7
я просто попросил помощи лично на твое мнение мне глубоко по .... я написал как мне нужно сделать а по РУсски или не по Русски это помоему это уже мое дело. А если ты просто не знаеш чем помочь то шкребани из темы мб кто адекватный подскажет.

Добавлено через 7 минут
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="blok001"><span class='new_cena001'>300</span>
<imput class='kol001' value='1'></div>
 
блок 2
<div id="blok002"><span class='new_cena002'>300</span>
<imput class='kol003' value='1'></div>
 
блок 3
<div id="blok003"><span class='new_cena003'>300</span>
<imput class='kol003' value='1'></div>
 
блок 4
<div id="blok004"><span class='new_cena004'>300</span>
<imput class='kol004' value='1'></div>
Есть 4 блока в локах span цена товара надо написать скипт который будет брать значение из спан умножать на значение <imput> и в этот же спан возвращать уже результат формулы. А про общюю сумму я говорил это про сумму всех блоков <span>.
Допустим 4 блоков <span> и в блок < div id="ob_summ"></div> вывести сумму всех 4 блоков
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
20.07.2012, 15:01 8
HTML5
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
31
32
33
div id="blok001">
Цена товара - <span id="cena001">123</span><br>
Количество - <input id="kol001" value="1"><br>
Сумма покупки - <span id="sum001">123</span>
</div><hr>
 
<div id="blok002">
Цена товара - <span id="cena002">234</span><br>
Количество - <input id="kol002" value="1"><br>
Сумма покупки - <span id="sum002">234</span>
</div><hr>
 
...<hr>
 
<div id="blok030">
Цена товара - <span id="cena030">987</span><br>
Количество - <input id="kol030" value="1"><br>
Сумма покупки - <span id="sum030">987</span>
</div><hr>
<script>
function myFunc (ev)
{
var e = ev || window.event, o = e.srcElement || e.target, n = o.id.substr (3);
if (o.value.replace (/\d/g, '').length)
   {alert ('Неверно!'); document.getElementById ('sum' + n).innerHTML = 'ОШИБКА'; return}
document.getElementById ('sum' + n).innerHTML = document.getElementById ('cena' + n).innerHTML * o.value;
}
 
var obj = document.getElementsByTagName ('input'); 
for (var j = 0, lj = obj.length; j < lj; j++)
   if (obj [j].id.substring (0, 3) == 'kol')
      {obj [j].oninput = myFunc; obj [j].onpropertychange = myFunc} 
</script>
1
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
21.07.2012, 21:05  [ТС] 9
Спасибо за скрипт все работает

Добавлено через 2 часа 12 минут
Еще вопросик можно))) как сделать чтобы он брал все значения из блоков <span> складывал их и записывал допустим сюда <span id="obsum"></span>

Добавлено через 22 минуты
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
function myFunc (ev)
{
var e = ev || window.event, o = e.srcElement || e.target, n = o.id.substr (3);
if (o.value.replace (/\d/g, '').length)
   {alert ('Неверно!'); document.getElementById ('sum' + n).innerHTML = 'ОШИБКА'; return}
document.getElementById ('sum' + n).innerHTML = document.getElementById ('cena' + n).innerHTML * o.value;
if (o.value == 0){
    document.getElementById ('sum' + n).innerHTML = document.getElementById ('cena' + n).innerHTML}
}
 
var obj = document.getElementsByTagName ('input'); 
for (var j = 0, lj = obj.length; j < lj; j++)
   if (obj [j].id.substring (0, 3) == 'kol')
      {obj [j].oninput = myFunc; obj [j].onpropertychange = myFunc} 
</script>

Маленько еще доработал срипт для себя
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
21.07.2012, 21:51 10
Вместо двух строк #25 и #26 моего кода пропишите эти 11 строк:
Javascript
1
2
3
4
5
6
7
8
9
10
   {
   alert ('Неверно!'); document.getElementById ('sum' + n).innerHTML = 
   document.getElementById ('obsum').innerHTML = 'ОШИБКА'; return;
   }
document.getElementById ('sum' + n).innerHTML = document.getElementById ('cena' + n).innerHTML * o.value;
var obj = document.getElementsByTagName ('span'); 
for (var j = sum = 0, lj = obj.length; j < lj; j++)
   if (obj [j].id.substring (0, 3) == 'sum')
      {if (obj [j].innerHTML == 'ОШИБКА') return; else sum += obj [j].innerHTML * 1}
document.getElementById ('obsum').innerHTML = sum;
1
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 11
22.07.2012, 19:09  [ТС] 11
Супер спасибо огромное.

Добавлено через 21 час 4 минуты
Круто все работает. Может еще подскажешь где корзину подглядеть для моего случая. Штук 10 видел в каких то куча хлама. Какие то просто не могу отладить. мб ссылку дашь чтоб с обьяснениями
0
22.07.2012, 19:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2012, 19:09
Помогаю со студенческими работами здесь

Не могу написать скрипт для подсчета кликов по элементу
Нижеприведенный код просто считает один клик. а как зациклить чтоб читало все клики по...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

не могу разобраться в Ява скрипт
Здравствуйте, я начинающий программист уже знаю HTML, CSS и пытаюсь выучить ява скрипт. Вроде всё...

Скрипт для перебора блоков по очереди
Всем привет! Подскажите пожалуйста простенький скрипт, который будет перебирать блоки по очереди с...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru