Here, userchoice is a value from a selected list in HTML which is either Matthew, Mark, Luke or John. I created a function called generate which takes input as parenthesis.
But when I call it with userchoice, the value of userchoice comes as a string and the code does not work. What I want is to take input from the user i.e. Matthew, Mark, Luke, John. So I created objects with similar name.
Does it have some solution or some other ways to do it?
let userchoice;
let Matthew = {
verse: [`Hi matthew`, `Hello God`, `hello guiye`],
book: [`Mark`, `john`]
};
let Mark = {
verse: [`Hi Mark`, `Hello God`],
book: [`Mark`, `john`]
};
let Luke = {
verse: [`Hi Luke`, `Hello God`],
book: [`Mark`, `john`]
};
let John = {
verse: [`Hi John`, `Hello God`],
book: [`Mark`, `john`]
};
document.querySelector('#generate').addEventListener('click', function() {
userChoice = document.querySelector('#selectValue').value;
generate(userchoice);
});
function generate(input) {
randomNumber = Math.floor(Math.random() * Matthew.verse.length);
verseResult = input.verse[randomNumber];
bookResult = input.book[randomNumber];
displayVerse.innerText = verseResult;
displayBook.innerText = bookResult;
}
<form>
Choose a book :
<select id="selectValue">
<option value="Matthew">Matthew</option>
<option value="Mark">Mark</option>
<option value="Luke">Luke</option>
<option value="John">John</option>
</select>
</form>
<div class="btn">
<button id="generate">Generate</button>
</div>
<p>Verse:<span id="verse"></span></p>
<p>Book:<span id="book"></span></p>
selectyou mention?#generateis not found.