Почему при пустой переменной lenght возвращает 1

Yulo

Постоялец
Регистрация
21 Апр 2008
Сообщения
153
Реакции
179
Получаю в переменную выбранные даты в инпут, затем считаю количество дат разделенных ;
При прибавлении или удалении считает все правильно, мне нужно чтоб при пустом инпуте возвращало 0 а не 1. Что я делаю не так?
Код:
 var takedates = $('#pickdate').val();
 takedates = takedates.split('; ').length;
console.log(takedates)
 
Скиньте, что выдает в консоль:
HTML:
console.log( $('#pickdate').val() )
 
  • Нравится
Реакции: Yulo
Код:
var takedates = '';
takedates = takedates.split('; ');
console.log(takedates)

Потому что переменная не пустая. Если делемитер не найден, то возвращается входящая строка. Доки читаем

Точнее не строка, а массив из 1 элемента - входящей строки
 
Выдает даты к примеру 06/08; 07/08; 14/08
Я вам верю, а именно в тот момент, когда ожидали ноль, а отдало единичку, что там?


UPD
Ну хорошо, а так:
HTML:
var takedates = $('#pickdate').val();
if( !takedates ) takedates = 0
else takedates = takedates.split('; ').length;
console.log(takedates)
 
  • Нравится
Реакции: Yulo
Я вам верю, а именно в тот момент, когда ожидали ноль, а отдало единичку, что там?


UPD
Ну хорошо, а так:
HTML:
var takedates = $('#pickdate').val();
if( !takedates ) takedates = 0
else takedates = takedates.split('; ').length;
console.log(takedates)
Спасибо возвращает 0
 
Назад
Сверху