Текущее время: 04 май 2025, 12:20

а кто умный в scriptах?

Разговоры о компьютерах и все что с ними связано, о всех видах телефонов, как со шнурочками, так и без

Модераторы: TR#ll, Модераторы

а кто умный в scriptах?

Сообщение noa » 21 сен 2008, 14:48

поможите плиз.
есть простая функция, которая тупо перемножает количество на цену (цену тоже запрашивает в input).
а как сделать, чтобы цена менялась в зависимости от кличества?
например qty <=5 then price=2
qty 6-15 --- price=1.5
qty >15 ...

как бы не совсем синтаксис яваскрипта знаю
Код: Выделить всё
   function recalc(){
      $("[@id^=total_item]").calc(
         "qty * price",
         {
            qty: $("input[@name^=qty_item_]"),
            price: $("[@id^=price_item_]")
         },
         function (s){
            return s.toFixed(2);
         },
         function ($this){
            var sum = $this.sum();
            $("#grandTotal").text(
               sum.toFixed(2)
            );
         }
      );
   }
Shilien Saint 78/Hawk 73
http://www.valhalla-age.ru
Lineage II
noa
Аватара пользователя
Сержант
Сержант
 
Возраст: 39
Стаж: 18 лет 5 дней
Сообщения: 62
Откуда: Челябинск
Имя: Андрей
Автомобиль: BMW X3

Re: а кто умный в scriptах?

Сообщение Serdar1980 » 21 сен 2008, 14:56

function recalc(){
if(qty < 5){
price =2;
}else if(qty<15){
price =1.5;
}else if(qty>15){
price =0.5;
}
$("[@id^=total_item]").calc(
"qty * price",
{
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
},
function (s){
return s.toFixed(2);
},
function ($this){
var sum = $this.sum();
$("#grandTotal").text(
sum.toFixed(2)
);
}
);
}


примерно так но точного синтаксиса не знаю странный какой-то он
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 6 месяцев 25 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: а кто умный в scriptах?

Сообщение noa » 21 сен 2008, 14:59

не, даже не протестировав, вижу что не так.
во-первых:
if(qty < 5){
price =2;
}else if(qty<15){
price =1.5;

цифра 3 подходит под оба эти выражения: она меньше 5 и меньше 15 - интепретатор моск себе сломает, выбирая какую цену всё-такип поставить.
а, во-вторых, в самой функции никак не учитываются эти условия
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
как бы вот ещё что надо доработать
Shilien Saint 78/Hawk 73
http://www.valhalla-age.ru
Lineage II
noa
Аватара пользователя
Сержант
Сержант
 
Возраст: 39
Стаж: 18 лет 5 дней
Сообщения: 62
Откуда: Челябинск
Имя: Андрей
Автомобиль: BMW X3

Re: а кто умный в scriptах?

Сообщение Serdar1980 » 21 сен 2008, 15:08

подходит она только под одно так как там стоит else if
если первое условие выполнилось то дальше уже проверяться не будет.

Добавлено спустя 42 секунды:
еще раз повторюсь не знаю такого синтаксиса..
поэтому написал как знаю
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 6 месяцев 25 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: а кто умный в scriptах?

Сообщение sbs » 21 сен 2008, 20:25

Код: Выделить всё
function recalc(){
if(qty < 5){
kprice =1;
}else if(qty<15 && qty>=5){
kprice =0.75;
}else if(qty>=15){
kprice =0.5;
}
$("[@id^=total_item]").calc(
"qty * price * kprice",
{
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
},
function (s){
return s.toFixed(2);
},
function ($this){
var sum = $this.sum();
$("#grandTotal").text(
sum.toFixed(2)
);
}
);
}

Могет быть так?
sbs
Аватара пользователя
Майор
Майор
 
Возраст: 66
Стаж: 17 лет 1 день
Сообщения: 2131
Откуда: Коломна, Московской обл.
Имя: Сергей
Автомобиль: KIA Sportage QLE АКПП Бенз2.0
Год выпуска: 2020
Поблагодарили: 279 раз.
Награды: 3
За гостеприимство (1) Открыватель новых земель (1) Замершее мгновение (1)

Re: а кто умный в scriptах?

Сообщение Serdar1980 » 22 сен 2008, 09:40

if(qty < 5){
kprice =1;
}else if(qty<15 && qty>=5){
kprice =0.75;
}else if(qty>=15){
kprice =0.5;
}


if(qty < 5){
price =2;
}else if(qty<15){
price =1.5;
}else if(qty>15){
price =0.5;
}

они будут работать одинаково так как если
qty <5 то отработает первый if
qty >5 то первый if будет лож и попадет в else где qty <15
если qty >15 то и первый и второй if буду ложью
тогда и отработает 3 if
Ваш вариант тоже правильный и возможно нагляднее понятнее что происходит
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 6 месяцев 25 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: а кто умный в scriptах?

Сообщение sbs » 22 сен 2008, 12:51

Согласен. И так как у меня, я считаю, надежнее - если придется менять один из ифов, не надо следить за другими.
sbs
Аватара пользователя
Майор
Майор
 
Возраст: 66
Стаж: 17 лет 1 день
Сообщения: 2131
Откуда: Коломна, Московской обл.
Имя: Сергей
Автомобиль: KIA Sportage QLE АКПП Бенз2.0
Год выпуска: 2020
Поблагодарили: 279 раз.
Награды: 3
За гостеприимство (1) Открыватель новых земель (1) Замершее мгновение (1)

Re: а кто умный в scriptах?

Сообщение noa » 22 сен 2008, 18:29

sbs писал(а):
Код: Выделить всё
[size=50]
function recalc(){
if(qty < 5){
kprice =1;
}else if(qty<15 && qty>=5){
kprice =0.75;
}else if(qty>=15){
kprice =0.5;
}
$("[@id^=total_item]").calc(
"qty * price * kprice",
{
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
},
function (s){
return s.toFixed(2);
},
function ($this){
var sum = $this.sum();
$("#grandTotal").text(
sum.toFixed(2)
);
}
);
}[/size]

Могет быть так?


ну может быть, тока синтаксис пока не подходит.
переменные задаются вот тут:
Код: Выделить всё
         // define the variables used in the equation, these can be a jQuery object
         {
            qty: $("input[@name^=qty_item_]"),
            price: $("[@id^=price_item_]")
         },

следовательно на твой пример выскакивает ошибка:
message: Statement on line 78: Undefined variable: qty
if(qty < 5){
Shilien Saint 78/Hawk 73
http://www.valhalla-age.ru
Lineage II
noa
Аватара пользователя
Сержант
Сержант
 
Возраст: 39
Стаж: 18 лет 5 дней
Сообщения: 62
Откуда: Челябинск
Имя: Андрей
Автомобиль: BMW X3

Re: а кто умный в scriptах?

Сообщение Kykyzilla » 22 сен 2008, 20:09

noa писал(а):поможите плиз.
есть простая функция, которая тупо перемножает количество на цену (цену тоже запрашивает в input).
а как сделать, чтобы цена менялась в зависимости от кличества?
например qty <=5 then price=2
qty 6-15 --- price=1.5
qty >15 ...

как бы не совсем синтаксис яваскрипта знаю
[code] function recalc(){
$("[@id^=total_item]").calc(
"qty * price",
{
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
},
function (s){
return s.toFixed(2);
},
function ($this){
var sum = $this.sum();
$("#grandTotal").text(
sum.toFixed(2)
);
}
);
}


Чё только не приснится ночью . гы...

Дико извиняюсь за то что влез в тему не по теме :[|]:
Онлайн радио www.NuitFM.ru :daz:
Kykyzilla
Аватара пользователя
Майор
Майор
 
Возраст: 42
Стаж: 17 лет 4 месяца 4 дня
Сообщения: 1763
Откуда: Moscow
Имя: Александро
Автомобиль: ШевролёТ )))
Поблагодарили: 61 раз.
Награды: 1
Золотая звезда I степени (1)

Re: а кто умный в scriptах?

Сообщение sbs » 22 сен 2008, 20:16

Код: Выделить всё
function recalc(){
{
qty: $("input[@name^=qty_item_]"),
price: $("[@id^=price_item_]")
},
if(qty < 5){
kprice =1;
}else if(qty<15 && qty>=5){
kprice =0.75;
}else if(qty>=15){
kprice =0.5;
}
$("[@id^=total_item]").calc(qty * price * kprice)

function (s){
return s.toFixed(2);
},
function ($this){
var sum = $this.sum();
$("#grandTotal").text(
sum.toFixed(2)
);
}
);
}

Ну тогда так.
Просто правил предыдущего оратора и не обратил внимания. Виноват!
sbs
Аватара пользователя
Майор
Майор
 
Возраст: 66
Стаж: 17 лет 1 день
Сообщения: 2131
Откуда: Коломна, Московской обл.
Имя: Сергей
Автомобиль: KIA Sportage QLE АКПП Бенз2.0
Год выпуска: 2020
Поблагодарили: 279 раз.
Награды: 3
За гостеприимство (1) Открыватель новых земель (1) Замершее мгновение (1)

Re: а кто умный в scriptах?

Сообщение noa » 23 сен 2008, 19:16

не-не-не. теперь пишет совсем
Expected token: ';'
price: $("[@id^=price_item_]")

значит надо закрывать выражение. вобщем кто правда силён в JavaScript

блин я приложу на всякий случай такой простенький калькулятор, в котором я и хочу сделать гибкую цену
http://city.is74.ru/forum/attachment.ph ... 1222000909
Shilien Saint 78/Hawk 73
http://www.valhalla-age.ru
Lineage II
noa
Аватара пользователя
Сержант
Сержант
 
Возраст: 39
Стаж: 18 лет 5 дней
Сообщения: 62
Откуда: Челябинск
Имя: Андрей
Автомобиль: BMW X3

Re: а кто умный в scriptах?

Сообщение Serdar1980 » 24 сен 2008, 09:04

noa
а где ты все это исполняешь?
ну чтобы проверить самому можно было
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 6 месяцев 25 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: а кто умный в scriptах?

Сообщение noa » 24 сен 2008, 19:18

ну любой браузер умеет.
у меня Opera - Инструменты -- Дополнительно -- Консоль ошибок
Shilien Saint 78/Hawk 73
http://www.valhalla-age.ru
Lineage II
noa
Аватара пользователя
Сержант
Сержант
 
Возраст: 39
Стаж: 18 лет 5 дней
Сообщения: 62
Откуда: Челябинск
Имя: Андрей
Автомобиль: BMW X3


Вернуться в Всё о компьютерах и средствах связи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7