2015-02-18 1 views
-1

Возможно, это действительно простое решение, но я не могу найти какие-либо подобные вопросы, которые дают мне ответ.Мне нужно добавить переменную без добавления (используя оператор арифметики)

Javascript

products = [" + Ticket", " + VIP", " + Shirt"]; 
v_mult = products[0] + par_left + v + par_right; 
v_sing = products[0]; 

if (ticket == 3 & document.getElementById("amount").value <= 1) { 
    document.frm.display.value -= v_mult, document.frm.display.value = v_sing; 
}; 

if (ticket == 3 & document.getElementById("amount").value > 1) { 
    document.frm.display.value -= v_sing, document.frm.display.value = v_mult; 
}; 

//function for adding vip tickets 
if (ticket == 4 & document.getElementById("amount").value <= 1) { 
    document.frm.display.value -= s_mult, document.frm.display.value = s_sing; 
}; 

if (ticket == 4 & document.getElementById("amount").value > 1) { 
    document.frm.display.value -= s_sing, document.frm.display.value = s_mult; 
}; 

See, если я просто положить ...

if (ticket == 3 & document.getElementById("amount").value <= 1) { 
    document.frm.display.value -= v_mult, document.frm.display.value = v_sing; 
}; 

он изменяет значение "дисплей" (текстовое поле), чтобы "Билет" , Это нормально, но это не позволяет мне добавить «VIP» в билет; это только позволяет мне заменить «Ticket» на «VIP».

Это потому, что я использую «= v_mult». Я уверен, что это проблема, у меня просто нет решения. Я хочу, чтобы значение было «Ticket», но я не хочу, чтобы «Ticket» был удален, когда мне нужно добавить «VIP». «+ =» возвращает «NaN», а «=» просто изменяет все значение «display», вместо редактирования/добавления новых значений.

+0

Короче говоря, мне нужно оператор «+», чтобы работать в качестве «Append», а не «математического оператора». –

+2

Ваш вопрос понятен как грязь. Существуют необъявленные переменные, переменные, которые не определены, и выражения, разделенные запятой, которые должны быть отдельными операторами. Это очень поможет, если вы разместите минимальный «рабочий» пример, который отображает проблему. – RobG

+1

Я уверен, что вы имеете в виду '&&' всюду, что у вас в настоящее время есть побитовое '&' – cbreezier

ответ

0
document.frm.display.value -= v_mult, document.frm.display.value = v_sing; 

document.frm.display.value -= (" + Ticket" + document.frm.display.value = " + Ticket" 

Я хочу, чтобы значение, чтобы быть "билет", но я не хочу "билет", чтобы быть удалены, когда я нужно добавить «VIP».

Я думаю, что вы хотите что-то вроде этого:

вал = document.frm.display.value;

document.frm.display.value = (v_mult + val + v_sing);

Вы можете получать NaN, потому что вы добавляете строки в число с + =

+0

Если вы видели в jsfiddle, когда я нажимаю «Ticket», «+ Ticket» появляется в верхнем текстовом поле. Когда я нажимаю «VIP», «+ VIP» появляется в верхнем текстовом поле «МЕСТО» «+ Ticket». Как сохранить оба и добавить «+ VIP» в «+ Ticket»? @joatis –

+0

Скриншоты теперь не работают для меня. Я бы сохранил их как отдельные значения и объединил их, когда они вам понадобятся, и просто перезапишите все предыдущее значение. – joatis

+0

Оператору группировки '()' не нужно. – RobG

0

Использование .concat()

newString = string1.concat(string2); 

Вместо

newString = string1 + string2; 
+1

Как это будет иметь значение? Все значения в OP выглядят как строки, поэтому «+» уже делает конкатенацию. – RobG

+0

Я прочитал название, а не код – Kerndog73

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