Чтобы было проще понять и следовать, я сохранил ваш оригинальный код как можно больше и немного расширил его.
Используемая onclick
вами переменная не объявлена ??нигде и не является ссылкой на любой из ваших input
.
Кроме того, ваша onclick="menuSubmitted()"
функция не вызвана, поскольку она пропускает конечную скобку input
в вашем option
обработчике и должна выглядеть так:value="fruit"
Чтобы он работал, вы могли бы зацикливать input
флажок, проверить, какой из них проверен, и назначить его значение option
переменной, и обратите внимание, я добавил span
атрибут для каждого, чтобы сделать его легче, чем искать текст внутриspan
Поскольку встроенный скрипт onclick
- это плохая практика, я заменил его addEventListener
на «обновить» ваш код немного :)
Фрагмент стека
var button = document.querySelector('button');
button.addEventListener('click', function() {
menuSubmitted();
})
function menuSubmitted() {
var option, inputs = document.querySelectorAll('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) {
option = inputs[i].value;
}
}
if (option == 'apple') {
apple();
} else if (option == 'pineapple') {
pineapple();
} else if (option == 'juice1') {
juice1();
} else if (option == 'juice2') {
juice2();
}
}
function apple() {
alert("Apple selected");
}
function pineapple() {
alert("Pineapple selected");
}
function juice1() {
alert("Juice 1 selected");
}
function juice2() {
alert("Juice 2 selected");
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-alpha.4/css/materialize.min.css">
<div class="container">
<h3>A Demo of Materialize Radio</h3>
<form action="#">
<p>
<label>
<input class="with-gap" name="group1" type="radio" value="apple" checked />
<span>Apple</span>
</label>
</p>
<p>
<label>
<input class="with-gap" name="group1" type="radio" value="pineapple" />
<span>Pineapple</span>
</label>
</p>
<p>
<label>
<input class="with-gap" name="group2" type="radio" value="juice1" />
<span>Juice 1</span>
</label>
</p>
<p>
<label>
<input class="with-gap" name="group2" type="radio" value="juice2" />
<span>Juice 2</span>
</label>
</p>
<button type="button">Submit menu</button>
</form>
</div>