Тернарный оператор с операторами return JavaScript
Мне нужно вернуть true или false, если выбрана опция в выпадающем списке.
Это мой код:
var active = sort.attr('selected') ? return true : return false;
Я получаю сообщение об ошибке, что первый return является неожиданным.
Почему?
Ответ 1
Вы не можете назначить оператор return переменной. Если вы хотите, чтобы active было назначено значение true или false, просто удалите return s:
var active = sort.attr('selected') ? true : false;
или, может быть, лучше:
var active = sort.prop('selected');
поскольку .prop всегда возвращает true или false, независимо от исходного атрибута тега.
Ответ 2
Вы можете вернуться от тройного оператора в javascript следующим образом:
return sort.attr('selected') ? true : false;
Ответ 3
почему не только это?
return sort.attr('selected');
Ответ 4
Просто комментарий к вашему коду:
> sort.attr('selected')
похоже, использует метод jQuery attr, который использовался, чтобы попытаться и угадать, что вы хотели, и вернуть либо атрибут, либо имущество. Я думаю, что в последних версиях он всегда возвращает атрибут.
В любом случае наличие выбранного атрибута означает, что элемент (элемент option?) является по умолчанию, это не означает, что это в настоящее время выбранный вариант. Для этого вам потребуется выбранный свойство (jQuery prop). И так как выбранное свойство является логическим: