При нажатии на кнопку - добавить значение в input, при повторном нажатии - убрать

101
05 сентября 2021, 16:50

Есть скрипт, который при нажатии на ссылку добавляет некоторое значение в input. Вот он:

<span><a name="menu-title" href="#" onclick="Zack(this);return false">Пепси</a></span><br /><br /> 
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Колу</a></span><br /><br /> 
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Спрайт</a></span><br /><br /> 
 
<input class="foxtext" type="text" onblur="if(this.value=='') this.value=this.title;" onfocus="if(this.value==this.title) this.value='';" name="zakaz" style="width:235px !important;" title="Что хотите заказать?" value="Что хотите заказать?"> 
 
<script type="text/javascript"> 
var First = true; 
function Zack (MenuTitl) { 
    var zakaz = document.getElementsByName('zakaz')[0]; 
    var dop=zakaz.value+', '; 
     if(First) {First=false;dop="";} 
    zakaz.value = dop + MenuTitl.innerHTML;             
} 
 
</script>

А как его допилить, чтобы при повторном клике на ссылку, это значение из inputa удалялось? То есть, к примеру, жмякнул "Пепси" один раз - добавилось, жмякнул снова - удалилось?

Answer 1

Можно так сделать:

var order = []; 
function Zack(MenuTitl) { 
    var zakaz = document.getElementsByName('zakaz')[0]; 
    var item = MenuTitl.innerHTML; 
    if (order.includes(item)) order.splice(order.indexOf(item),1); 
    else order.push(item); 
    zakaz.value = order.join(', ');             
}
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Пепси</a></span><br /><br /> 
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Колу</a></span><br /><br /> 
<span><a name="menu-title" href="#" onclick="Zack(this);return false">Спрайт</a></span><br /><br /> 
 
<input class="foxtext" type="text" onblur="if(this.value=='') this.value=this.title;" onfocus="if(this.value==this.title) this.value='';" name="zakaz" style="width:235px !important;" title="Что хотите заказать?" value="Что хотите заказать?">

READ ALSO
Про props img react JS

Про props img react JS

Как через Props добавить изображения? Обучение в React JS

110
Запустить видео в сафари, javascript

Запустить видео в сафари, javascript

Помогите решить проблему и возможно ли ее решитьСуть проблемы такая

113
Повернуть SVG-элемент, как изображение

Повернуть SVG-элемент, как изображение

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

101
Как импортировать файл Javascript в Nuxt.js

Как импортировать файл Javascript в Nuxt.js

изучаю Nuxtjs пытаюсь подключить файл js прописал в nuxt

281