Селектор и массив

113
07 октября 2021, 01:10

Стыдно просить такую мелочь, но голова не работает.

$("#tableproduct1").on('input focus', function () {
        var price = AddProduct[1][0]['price_products_deal'];
        q = $('.productTableAdd_Q ').val();
        itog = AddProduct[1][0]['itog_products_deal'] = price * q;
        $('#tableproduct1 .productTableAdd_Itog').text(itog);
    });

tableproduct1 может быть tableproduct2 и 3,4 Берется цифра с массива AddProduct

Answer 1
$('[id^="tableproduct"]').on('input focus', function () {
  var index = +this.id.replace("tableproduct", ""); 
  var price = AddProduct[index][0]['price_products_deal'];
  ...

Но лучше присвойте этим элементам один класс и выбирайте по классу, а индекс положите в data-index="1":

  var index = +$(this).data("index"); 

Вопрос. tableproduct может добавляться в процессе в дом дерево

Нужно использовать "делегирование" - когда обработчик события прикрепляется к существующему родительскому элементу с указанием для каких элементов внутри родителя обработчик должен срабатывать.

$(document).on('input focusin', '[id^="tableproduct"]', function() {
READ ALSO
Richtextbox неправильно закрашивает символы

Richtextbox неправильно закрашивает символы

Делаю токенизатор на WPF C#, хотел сделать подсветку токенов цветом, для начала решил сделать чередование 5 красных и 5 черных символов, в результате...

209
25 600 движущихся спрайтов

25 600 движущихся спрайтов

Постановка задачи: Нам нужно создать сетку из спрайтов 160х160Каждый спрайт движется в рандомном направлении и с рандомной скоростью

161
Как вывести GIF-Изображение по нажатию button

Как вывести GIF-Изображение по нажатию button

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

297