Увеличить целочисленную переменную на единицу по щелчку

#javascript #jquery

#javascript #jquery

Вопрос:

Я пытаюсь увеличить значение для глобально определенной переменной highestPurposeValue в случае, если условие if истинно, но это не работает. Он возвращает каждый раз 1. Что я делаю не так?

 var highestPurposeValue = 0;

$('#addJobPurposeButton').on('click', function(){

    var value = $('#jobPurposeInputForm').val();


    $('#jobPurposeList li').map(function () {

        var item = $(this).find("input[name^='jobPurpose']").attr('name');

        var itemNumber = item.match(/d /); // returns an array.

        if (itemNumber[0] > highestPurposeValue) {

            var num = parseInt(itemNumber[0]);

            var plusOne = num 1;

            highestPurposeValue = plusOne;

        }

    });
  

Комментарии:

1. Я вижу много причин, почему это может пойти не так. Не могли бы вы также предоставить свой HTML-код?

2. Если item.match(/d /); возвращает массив string ‘s (хотя может содержать числовые символы), ваш if (itemNumber[0] > highestPurposeValue) никогда не будет вычислен должным образом, поскольку переменные имеют два разных типа.

3. $(this).find("input[name^='jobPurpose']").attr('name') вернет ‘jobPurpose’, и тогда это будет выглядеть так jobPurpose.match(/d /) итак, вы ищете числа в строке, которые их не содержат?

4.Используйте parseFloat if (parseFloat(itemNumber[0]) > highestPurposeValue) {

5. Я использую parseFloat(itemNumber[0]) в условии if и parseInt(itemNumber[0]) с parseFloat(itemNumber[0]) помощью, но переменная highestPurposeValue увеличивается только один раз 🙁