Я создаю приложение для конвертации валют и пытаюсь выбрать валюту с помощью функции getSelectedCurrency()
в моем коде.Когда я фиксирую значение лога в своем коде, он возвращает текст, но не удовлетворяет тесту TDD возврата выбранной валюты
Я пытался использовать прослушиватель событий, но прослушиватели событий обычно возвращают неопределенное
// declare populateCurrencies here
const populateCurrencies = ()=>{
currencies.forEach((x)=>{
let elt = document.querySelector('.select-text');
let newElt = document.createElement('option');
let newText = document.createTextNode(x.name);
newElt.appendChild(newText);
newElt.setAttribute('value',x.id);
elt.appendChild(newElt);
})
let elt = document.querySelector('.select-text');
elt.addEventListener('change',()=>{
let currentlySelected =document.querySelector('[selected]');
currentlySelected.removeAttribute('selected');
elt.selectedOptions[0].setAttribute('selected','');
},false)
}
function getSelectedCurrency(){
// here, determine and return the selected value
// of the SELECT element
let currentlySelected= document.querySelector('.select-text');
let value= currentlySelected.selectedOptions[0].text;
return((String(value)));
};
const convert = (event) => {
toast(`preparing to convert ...`);
const btn = event ?
event.target : document.querySelector('button');
const selected = getSelectedCurrency();
console.log(selected);
if(!selected || selected.trim() === ''
|| !currencies.map(c => c.id).includes(selected)) return;
btn.setAttribute('disabled', 'disabled');
toast(`converting ...`);
const endpoint = api(selected);
Я ожидаю, что getSelectedCurrency()
вернет строку, но ничего не получится.