Заменить onclick

242
14 мая 2018, 02:20

На странице много таких input и все без ID

function doAdd(btn) { 
  var c = getCookie('m_ids'); 
  if (c) { 
    var a = c.split(','); 
    for (i = 0; i < a.length; i++) { 
      if (a[i] == btn.alt) { 
        alert(''); 
        return false; 
      } 
    } 
    a.push(btn.alt); 
    setCookie('m_ids', a.join(','), '', '/'); 
  } else { 
    setCookie('m_ids', btn.alt, '', '/'); 
  } 
  order('cost', 'alt'); 
  ordc(); 
  return false; 
}
<input class="button btn js-add-to-cart" alt="^[$id]" value="Добавить в заказ" readonly="readonly" onclick="return doAdd(this)">

Как заменить onclick="return doAdd(this)" на $('body').on('click', smth, function(e)

Answer 1

Рабочий вариант в соответствии с комментарием под вопросом о cookies.

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function newAdd() {
    console.log($(this).attr("alt"));
    setCookie('yourID', $(this).attr("alt"),5);
}
var elementList = document.querySelectorAll('input.button');
for (i = 0; i < elementList.length; i++) {
    elementList[i].onclick = newAdd;
}
READ ALSO
Приоритет операций JQuery/JS

Приоритет операций JQuery/JS

Никак не могу понять в чем делоЕсть 2 текстовых поля в шаблоне

238
Не совместимы Foundation 6 &amp; jQuery 3

Не совместимы Foundation 6 & jQuery 3

Подскажите почему у меня не совместимы jquery 3 и foundation 6Кто то говорит что они не совместимы, кто то говорит что нет поддержки

294
Замена стрелочной функции

Замена стрелочной функции

Если убрать стрелочную функцию и написать в формате "function(arg) { // Code }"

206
Ajax, результат получить как массив

Ajax, результат получить как массив

Мне необходимо обратиться через ajax на сервер и ответ получить как массивВот код php:

217