2013-07-18 2 views
0

я следующий вид:Как сделать поле кода предложения в форме?

http://jsfiddle.net/GZYKQ/

Как бы сделать так, что, когда пользователь вводит «DISCOUNT10» (заглавными буквами или строчными буквами) сценарий JQuery занимает 10% от стоимости ремонта? Не общая цена, цена ремонта, которая находится в верхней части формы (цена вар.).

После этого сценарий должен добавить стоимость ремонта (минус 10%), стоимость доставки и стоимость доставки и показать общую сумму.

У меня нет опыта работы с JQuery так что этот код, вероятно, имеет много плохого с ним, но это то, что у меня есть:

$("button.offerapply").click(function() { 
if (("input[name='offercode']").val = "DISCOUNT10"){ 
    price = (price/100)*90; 
} 

Любая помощь очень ценится!

+1

Ну, ваша кнопка не стреляет, потому что вы нацеливаете класс 'offerпринадлежности', когда он должен быть идентификатором, измените на' $ («# offerпплеп»). Click (.... ' – tymeJV

+0

Ok Я изменил это, но dreamweaver все еще говорит, что есть проблема с кодом: -/ – Chris

+0

Я бы рекомендовал применять фактическую сторону сервера скидок (если вы просто используете JS для отображения, это будет хорошо), так как любой может манипулировать вашим JS – naththedeveloper

ответ

4

Вам не хватает дополнительного =. Прямо сейчас у вас есть задание. Вы хотите сравнить два значения. Оператор сравнения - ==.

Попробуйте это:

$("button#offerapply").click(function() { 
if ($("input[name='offercode']").val() == "DISCOUNT10"){ 
    price = (price/100)*90; 
    $('.tot_price').html('£' + price); 
} 
+2

Я бы предложил добавить .toLowerCase(); после .val() и сравнить с «discount10» – rgoraya

+0

Хорошо, что я обновил ваш код, но все равно ничего хорошего :-(http://jsfiddle.net/PsRKq/ – Chris

+0

Сортировка Спасибо для справки! Рабочая скрипка: http://jsfiddle.net/PsRKq/1/ – Chris

0

Глядя на ваш jsfiddle я бы, вероятно, займет

var tot_price = price + postage_out + postage_in; 

и изменить его, чтобы иметь другую переменную:

var tot_price = (multiplier * price) + postage_out + postage_in; 

мультипликатор будет по умолчанию 1 и могут измениться, чтобы сказать .90, если они вводят скидку на кнопку «Применить».

http://jsfiddle.net/GZYKQ/3/

0

Вы также отсутствуете вызов JQuery перед опорным сигналом:.

если ($ ("вход [имя = 'offercode']") вали == "DISCOUNT10") {

1
$("#offerapply").click(function() { 
    if ($("#offercode").val() === "DISCOUNT10"){ //offercode is an id, not a name 
     price = (price/10) * 9; 
     $('.tot_price').html('£' + price); 
    } 
} 

Обратите внимание, что offercode является идентификатором ввода, а не имя (JSFiddle here).

+0

offercode - это имя и идентификатор. Есть ли разница? – Chris

+0

Извините, этого не заметил. В любом случае использование идентификаторов более рекомендуется, чем имена. В отредактированном ответе есть рабочая скрипка –

+0

Блестящее спасибо! – Chris

Смежные вопросы