Лучший способ назначить ту же функцию для кнопок в JS? - PullRequest
0 голосов
/ 06 февраля 2019

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

var increaseButtonArray = [];
var increaseButton = 'increaseButton' + obj.id;
$('#d' + i + 'Content').append('<tr>' + 
'<td><button type="button" id="' + increaseButton + '">...
increaseButtonArray.push(increaseButton);

Поскольку я использую 4 кнопки для каждого элемента, я не могу просто датьbutton id элемента Я вместо этого создаю «имя кнопки» + id элемента.

function increaseButtonFunction() {
        $.each(increaseButtonArray, function (index, obj) {
            $("#" + obj).click(function btnClick() {
                var x = obj.substring(14, 17);
                $.each(list.List, function (k, v) {
                    $.each(v, function (index, obj2) {
                        if (obj2.id == x) {
                            obj2.value = obj2.value+ 1;
                        }
                    });
                });
                drawRow();
            });
        })
    }

Чтобы найти кнопку, я использую подстроку (я знаю, что это плохо), но мой кодв настоящее время работает, и приложение использует только <40 элементов. </p>

Что является более чистым решением для этого?

ОБНОВЛЕНИЕ Рабочий фрагмент

https://jsfiddle.net/9vh2ebqk/

1 Ответ

0 голосов
/ 06 февраля 2019

Я сделал более гибкую версию кнопок inc и dec.

`

https://jsfiddle.net/pm01z4of/ `

Не понимаю, что именно должно произойти с set и deleteно в любом случае я надеюсь, что это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...