#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
увеличивается только один раз 🙁